![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выделение ячейки в StringGrid по нажатию правой кнопки мыши [D7, WinXP]
AlexChudd © (2010-02-28 14:05:00)На StringGrid висит PopupMenu, пункты которого вызывают процедуры, работающие с выделенной в данный момент строкой таблицы.
Чтобы выделить строку, приходится сначала нажать на нее левой кнопкой, а потом уже правой вызывается меню. Как сделать так, чтобы при нажатии правой кнопки и строка выделялась, и меню вызывалось?
AlexChudd (2010-02-28 15:09:00) [1]Большое спасибо.
{RASkov} (2010-02-28 14:45:00) [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 14:12:00) [3]gMain : TStringGrid, в качестве PopupMenu указано PopupMenu1, у которого TrackButton=tbRightButton. Нужно по этой же tbRightButton вызывать, видимо, простое нажатие на левую кнопку. Как это сделать, не знаю.