![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отправка сетке соодщения WM_MOUSEDOWN
TStas © (2008-03-22 16:49:00)Сетка - TstringGrid. Нужно ей отправить сообщение, что на ячейке ACol, ARow, был щелчок.
Rect := StringGrid1.CellRect(ACol, ARow); //Получил прямоугольник сетки.
x := Rect.Left +1; //Получил иксовую координаты "мыши"
y := Rect.Top + 1; //Получил игриковую координату "мыши"
А вот как теперь в wParam и lParam засунить эти координаты и, главное, что "щелчок" был именно левой клавишей "мыши"?
Вот и весь вопрос.
TStas (2008-03-24 22:54:00) [1]Да я уже сам разобрался. Отправлять его нужно затем, чтобы сетка узнала, что надо выделять ячейки, Up она и сама чудесно получит. Ситуация стандартная: на ячейку сетки подкладывается контрол в OnDrawCell, на нужно, чтобы можно было выделять диапазон.
Leonid Troyanovsky (2008-03-23 11:00:00) [2]
> Германн © (23.03.08 01:05) [3]
> Обработчик OnSelectCell вызывается дважды в таком коде:
type
TCrackGrid = class(TStringGrid);
..
TCrackGrid(StringGrid1).FocusCell(ACol, ARow,True);
--
Regards, LVT.
Германн (2008-03-23 01:05:00) [3]
> Leonid Troyanovsky © (22.03.08 18:39) [2]
>
>
> > TStas © (22.03.08 16:49)
>
> > Сетка - TstringGrid. Нужно ей отправить сообщение, что
> на
> > ячейке ACol, ARow, был щелчок.
>
> PostMessage(StringGrid1.Handle, WM_LBUTTONDOWN, 0, MakeLParam(x,
> y)).
>
> Только, непонятно нах. И кто будет WM_LBUTTONUP делать.
>
Мне тоже непонятно "нах". Может автор объяснит?
Но вот интересное замечено было:
Обработчик OnSelectCell вызывается дважды в таком коде:
with StringGrid1 do begin
Col:=2;
Row:=2;
end;
Leonid Troyanovsky (2008-03-22 18:39:00) [4]
> TStas © (22.03.08 16:49)
> Сетка - TstringGrid. Нужно ей отправить сообщение, что на
> ячейке ACol, ARow, был щелчок.
PostMessage(StringGrid1.Handle, WM_LBUTTONDOWN, 0, MakeLParam(x, y)).
Только, непонятно нах. И кто будет WM_LBUTTONUP делать.
--
Regards, LVT.
{RASkov} (2008-03-22 17:31:00) [5]> [0] TStas © (22.03.08 16:49)
> соодщения WM_MOUSEDOWN
А что это за сообщение такое? Я что-то не нашел ни в справке, ни в стандартных исходниках...
Может ты путаешь и тебе нужны какие нибудь из этих:
WM_MOUSEFIRST = $0200;
.............
WM_MOUSELAST = $020A;
?
Есть WM_хBUTTONDOW, где х - это L(левая), R(правая) и M(средняя) кнопки мыши....