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

Вниз

WM_LBUTTONUP   Найти похожие ветки 

 
Иксик ©   (2003-06-14 14:47) [0]

Я ужасно извиняюсь за тупой вопрос, но я никак не пойму в чем дело.
Мне нужно посылать чужому окну сообщение WM_LBUTTONUP с координатами в lparam.

Я делаю так:
var
XY : record
case tag: Boolean of
True: (X,Y:word);
( XY: LongWord)
Я ужасно извиняюсь за тупой вопрос, но я никак не пойму в чем дело.
Мне нужно посылать чужому окну сообщение WM_LBUTTONUP с координатами в lparam.

Я делаю так:
var
XY : record
case tag: Boolean of
True: (X,Y:word);
False: (XY: LongWord); //с integer тоже не хляет
end;
begin
XY.X:=66;
XY.Y:=55;
sendmessage(strtoint(edit2.Text),WM_LBUTTONUP,0,XY.XY);


Он первую координату берет, а второй дает левое значение.
В чем тут дело?


 
Иксик ©   (2003-06-14 15:22) [1]

Блин, получилось, использовал MakeLParam.
Но я все равно не понял что было не правильно! :) Есть идеи?


 
Юрий Зотов ©   (2003-06-14 17:18) [2]

XY.XY - а как это вообще компилируется? Не должно.

Смотрим описание lParam для WM_LBUTTONUP:

xPos = LOWORD(lParam); // horizontal position of cursor
yPos = HIWORD(lParam); // vertical position of cursor

То есть, X и Y надо упаковать в общие 4 байта, в виде младшего и старшего слова соотвественно. Это и делает MakeLParam. Или можно ручками: (XY.Y shl 16) + XY.X

И не надо вариантной записи, достаточно просто word"овых полей.


 
HolyGlory   (2003-06-14 17:45) [3]


> XY.XY - а как это вообще компилируется? Не должно.

Почему? только не case tag:Boolean, a просто case bollean


 
Юрий Зотов ©   (2003-06-14 18:55) [4]

Да, скомпилируется. Сорри, невнимательно посмотрел. Но сказанного это все равно не отменяет.



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

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

Наверх




Память: 0.47 MB
Время: 0.018 c
14-45085
KODer
2003-06-14 15:46
2003.08.14
Дублированные функции???


14-44962
galleleo
2003-07-30 14:57
2003.08.14
Есть небольшой заказ!


14-44990
Карлсон
2003-07-27 21:43
2003.08.14
софт для Siemens A55


14-45156
K.o.Z
2003-07-30 18:18
2003.08.14
Виртуальная память


14-45033
STAR
2003-07-25 12:25
2003.08.14
Вопрос по MSCOMM