Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выделение ячейки в 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 вызывать, видимо, простое нажатие на левую кнопку. Как это сделать, не знаю.


Наверх

Титульная страница Поиск, карта сайта Написать письмо