Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
ВнизКак в StringGrid реагировать на щелчок правой кнопки мыши? Найти похожие ветки
← →
Muhan © (2004-12-03 14:59) [0]Извинияю за простоту вопроса, но к сожалению, что то не разобраться...
Мне надо чтобы по щелчку выскакивала менюшка и вместе с этим программа определяла место положения мыши..то есть ячейку на которой произошел клик.
Спасибо заранее.
← →
begin...end © (2004-12-03 15:13) [1]> Muhan © (03.12.04 14:59)
Используйте обработчик OnMouseDown.
var
Col, Row: Integer;
begin
if Button = mbRight then
(Sender as TStringGrid).MouseToCell(X, Y, Col, Row);
end.
А чтобы выскакивала менюшка, назначьте PopupMenu. Если менюшка должна быть разной, в зависимости от того, в каком месте кликнули, то не назначайте его StringGrid"у, а самостоятельно вызывайте нужное PopupMenu в этом же обработчике методом TPopupMenu.Popup().
← →
cae © (2004-12-03 15:19) [2]Или так :
procedure TForm1.PopupMenu1Popup(Sender: TObject);
var
ACol, ARow: Longint ;
Pt : TPoint ;
begin
if PopupMenu1.PopupComponent is TStringGrid then
with PopupMenu1.PopupComponent as TStringGrid do
begin
Pt := PopupMenu1.PopupPoint ;
Pt := ScreenToClient(Pt) ;
MouseToCell(Pt.X,Pt.Y, ACol, ARow);
Memo1.Lines.Add(IntToStr(ACol) + " " + IntToStr(ARow)) ;
end ; // with
end;
← →
Muhan © (2004-12-03 16:16) [3]Спасибо большое :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.033 c