Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.18;
Скачать: CL | DM;

Вниз

Отправка сетке соодщения WM_MOUSEDOWN   Найти похожие ветки 

 
TStas ©   (2008-03-22 16:49) [0]

Сетка - TstringGrid. Нужно ей отправить сообщение, что на ячейке ACol, ARow, был щелчок.
Rect := StringGrid1.CellRect(ACol, ARow); //Получил прямоугольник сетки.
x := Rect.Left +1; //Получил иксовую координаты "мыши"
y := Rect.Top + 1; //Получил игриковую координату "мыши"
А вот как теперь в wParam и lParam засунить эти координаты и, главное, что "щелчок" был именно левой клавишей "мыши"?
Вот и весь вопрос.


 
{RASkov} ©   (2008-03-22 17:31) [1]

> [0] TStas ©   (22.03.08 16:49)

> соодщения WM_MOUSEDOWN

А что это за сообщение такое? Я что-то не нашел ни в справке, ни в стандартных исходниках...
Может ты путаешь и тебе нужны какие нибудь из этих:
 WM_MOUSEFIRST       = $0200;
 .............
 WM_MOUSELAST        = $020A;
?
Есть WM_хBUTTONDOW, где х - это L(левая), R(правая) и M(средняя) кнопки мыши....


 
Leonid Troyanovsky ©   (2008-03-22 18:39) [2]


> TStas ©   (22.03.08 16:49)  

> Сетка - TstringGrid. Нужно ей отправить сообщение, что на
> ячейке ACol, ARow, был щелчок.

PostMessage(StringGrid1.Handle, WM_LBUTTONDOWN, 0, MakeLParam(x, y)).

Только, непонятно нах. И кто будет WM_LBUTTONUP делать.

--
Regards, LVT.


 
Германн ©   (2008-03-23 01:05) [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-23 11:00) [4]


> Германн ©   (23.03.08 01:05) [3]

> Обработчик OnSelectCell вызывается дважды в таком коде:


type
 TCrackGrid = class(TStringGrid);
..
 TCrackGrid(StringGrid1).FocusCell(ACol, ARow,True);

--
Regards, LVT.


 
TStas ©   (2008-03-24 22:54) [5]

Да я уже сам разобрался. Отправлять его нужно затем, чтобы сетка узнала, что надо выделять ячейки, Up она и сама чудесно получит. Ситуация стандартная: на ячейку сетки подкладывается контрол в OnDrawCell, на нужно, чтобы можно было выделять диапазон.



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

Текущий архив: 2009.01.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
2-1228464468
1234567
2008-12-05 11:07
2009.01.18
MB_ICONINFORMATION


2-1228457089
webpauk
2008-12-05 09:04
2009.01.18
Событие ListView


15-1227050125
Германн
2008-11-19 02:15
2009.01.18
Ох уже эти бабы!


2-1228747542
Lamer6666
2008-12-08 17:45
2009.01.18
Колличество выделенных записей в DBGrid


2-1228150306
Макс123
2008-12-01 19:51
2009.01.18
Загрузка в TImage