![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно вывести PopupMenu
KIR © (2002-09-12 11:46:00)Вот есть процедура:
procedure TVvodGrid.StringGrid1MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
Col,Row: Integer;
P: TPoint;
begin
If Button = mbRight then
begin
StringGrid1.MouseToCell(X,Y,Col,Row);
If Col < 2 then
begin
P := ClientToScreen(Point(X,Y));
PopupMenu1.Popup(P.X,P.Y);
end;
end;
end;
Почему-то меню выскакивает на две строки выше, зато по Y все нормально.
Может поможет: на форме кроме StringGrid"a есть еще две панели, у одной Alignmeny = alTop, у второй - alButtom, у StringGrid"a - соответственно - alClient
KIR (2002-09-12 12:25:00) [1]>> Старый Паскалист - спас!
Старый Паскалист (2002-09-12 11:53:00) [2]StringGrid1.ClientToScreen(...)
Song (2002-09-12 11:52:00) [3]Не надо ClientToScreen().
X и Y у Вас относительно TStringGrid