Главная страница
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.012 c
14-45052
OlegID
2003-07-28 08:51
2003.08.14
ActivX?


14-44995
Johnny Smith
2003-07-25 17:40
2003.08.14
Принимал ли папа римский участие в написании письма султану? :))


14-45120
_toltec
2003-06-18 04:24
2003.08.14
Доступ контролу чужого процесса


14-45037
shark
2003-07-28 13:33
2003.08.14
Сокеты


14-45161
KSergey
2003-07-30 14:53
2003.08.14
Code Complete