![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
StringGrid и MouseToCell [D7, WinXP]
John Doe © (2005-11-02 22:39:00)Добрый вечер.
Дело такое:
У меня имеется StringGrid,и когда я нажимаю на какую либо из его ячеек,мне надо чтоб выдавалось значение строки и столбца этой ячейки.
В обработчике OnMouseMove,есть переменные X,Y.
Которые затем я использую в MouseCoord,тем самым получая координаты столбца и строки.
Но в OnDbClickнет X и Y.
Потому приходится использовать процедуру GetCursorPos,но в этом случае он мне не выдает нужный рез-ат.
PS.Использовал и MouseToCell,все равно выдает,-1.
Вот код:
procedure TForm1.StringGrid1DblClick(Sender: TObject);
var a: TPoint;
b: TGridCoord;
begin
GetCursorPos(a);
b:=StringGrid1.MouseCoord(a.X,a.Y);
ShowMessage(IntToStr(b.x));
ShowMessage(IntToStr(b.y));
end;
jack128 (2005-11-02 23:11:00) [1]
procedure TForm1.StringGrid1DblClick(Sender: TObject);
var
p: TPoint;
Col, Row: Integer;
begin
Win32Check(GetCursorPos(P));
P := (Sender as TStringGrid).ScreenToClient(P); //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
TStringGrid(Sender).MouseToCell(P.X, P.Y, Col, Row);
Caption := Format('%d; %d', [Col, Row])
end;