Главная страница
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.017 c
1-1205929808
Domkrat
2008-03-19 15:30
2009.01.18
Шоткаты


4-1204522266
uroksan
2008-03-03 08:31
2009.01.18
считывание данных через Usb


2-1228735691
ekto
2008-12-08 14:28
2009.01.18
Получение сообщения, когда компонент не в фокусе...


1-1205998806
partizan
2008-03-20 10:40
2009.01.18
WebBrowser выделение текста и копирование в буфер


15-1226943419
Маэстро
2008-11-17 20:36
2009.01.18
Почему не дают больничный когда депрессия?