Вниз
Скачать: CL | DM;

Выделение ячейки в StringGrid по нажатию правой кнопки мыши   Найти похожие ветки 

← →
AlexChudd ©   (2010-02-28 14:05) [0]

На StringGrid висит PopupMenu, пункты которого вызывают процедуры, работающие с выделенной в данный момент строкой таблицы.
Чтобы выделить строку, приходится сначала нажать на нее левой кнопкой, а потом уже правой вызывается меню. Как сделать так, чтобы при нажатии правой кнопки и строка выделялась, и меню вызывалось?


← →
AlexChudd ©   (2010-02-28 14:12) [1]

gMain : TStringGrid, в качестве PopupMenu указано PopupMenu1, у которого TrackButton=tbRightButton. Нужно по этой же tbRightButton вызывать, видимо, простое нажатие на левую кнопку. Как это сделать, не знаю.


← →
{RASkov} ©   (2010-02-28 14:45) [2]

procedure TForm1.StringGrid1ContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
var C, R: Integer;
begin
....
 with TStringGrid(Sender) do begin
.....
  MouseToCell(MousePos.X, MousePos.Y, C, R);
  if (C>=FixedCols) and (R>=FixedRows) then begin
   Row:=R; Col:=C;
  end else Handled:=True;
....
 end;
....
end;

подчеркнутое не обязательно, это что бы меню не вызывалось для фиксированных ячеек...


← →
AlexChudd ©   (2010-02-28 15:09) [3]

Большое спасибо.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.005 c
2-1308301208
Sergey
2011-06-17 13:00
2011.10.02
Refresh таблицы


15-1307824191
Юрий
2011-06-12 00:29
2011.10.02
С днем рождения ! 12 июня 2011 воскресенье


2-1307937881
Gu
2011-06-13 08:04
2011.10.02
application.handle из dll


15-1306259758
R_R
2011-05-24 21:55
2011.10.02
Трехмерные шахматы


15-1307593117
Sergey
2011-06-09 08:18
2011.10.02
перезагрузка адсл модема




   Наверх