Главная страница
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.008 c
14-45143
IT-Master
2003-07-30 23:47
2003.08.14
Помощь в тестировании


14-44961
Franzy
2003-07-30 13:56
2003.08.14
Где взять стандартные иконки windows?!


14-45043
Начитанный
2003-07-28 13:23
2003.08.14
SQL - это язык программирования?


14-45061
Sour
2003-07-27 01:01
2003.08.14
Определение IP адреса машины


14-45013
Леприкон
2003-07-29 07:33
2003.08.14
Цыгане...