Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
14-45054
Soft
2003-07-27 19:45
2003.08.14
Публикация


14-44969
VladP
2003-07-30 08:27
2003.08.14
Посоветуйте цифровой фотоаппарат за 350$


14-44960
Maxx
2003-07-30 13:29
2003.08.14
Учет трафика IP


14-45004
AlexRush
2003-07-28 16:44
2003.08.14
dcc32, ObjectPascal (6) - языково-компиляторные концепции...


14-45050
Fenik
2003-07-27 18:03
2003.08.14
Как же быть?




   Наверх