Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.19;
Скачать: CL | DM;

Вниз

Как в 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
14-1101816466
h00k
2004-11-30 15:07
2004.12.19
Помогите с задачкой


1-1101961607
klyg
2004-12-02 07:26
2004.12.19
WebBrowser1.ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DONTPROMPTUSER)


14-1101883869
GanibalLector
2004-12-01 09:51
2004.12.19
Расчет потребности в оборудовании


4-1099606582
jek_
2004-11-05 01:16
2004.12.19
WinExec


11-1084281508
Рома
2004-05-11 17:18
2004.12.19
Снимок с экрана