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

Вниз

SendMessage, как мне объеденить координаты в одно число?   Найти похожие ветки 

 
3abaBHoe JIaMo   (2004-02-04 22:05) [0]

Есть такая команда, как SendMessage, ну вы знаете ;)

Вот мне надо заставить работать это:


SendMessage(MyHandle, WM_LBUTTONDOWN, 0, Position);

что нужно сделать с переменной Position, если нужные мне координаты это X и Y.

Я уже нашел что:

WM_LBUTTONDOWN  
fwKeys = wParam;        // key flags
xPos = LOWORD(lParam);  // horizontal position of cursor
yPos = HIWORD(lParam);  // vertical position of cursor

Что значит два числа в lParam? Это как так запихать?


 
Юрий Зотов ©   (2004-02-04 22:09) [1]

var
 X, Y: word;
...
 (Y shl 16) or X


 
dr Tr0jan ©   (2004-02-05 04:18) [2]

А Хэлп по WinAPI сложно почитать?
Позиция передается пременной lParam, размер которой 32-бита. Т.к. она очень велика - 0..4294967295, то программисты решили ее разбить на два "слова" (младшее и старшее), каждое по 16 бит, т.е. 0..65535. Размер одного слова позволяет хранить в себе довольно большое число, например горизонталную позицию курсора. Таким образом: xPos = LOWORD(lParam); // - младшее слово параметра lParam;
yPos = HIWORD(lParam);  // старшее слово параметра lParam;


 
Wizard_Ex ©   (2004-02-05 06:26) [3]

То есть так и присвоить:  ?

Position:=(Y shl 16) or X

сенкс


 
Zergling ©   (2004-02-05 06:29) [4]

>> То есть так и присвоить:  ?

Попробуй, узнаешь!


 
3abaBHoe JIaMo   (2004-02-05 23:18) [5]

Спасибо конечно, был бы у меня еще хелп по вин апи я бы тут не сидел. А шоб присвоить мне лично пришлось найти команду MakeLParam(X, Y) - ВОТ ЧТО Я ХОТЕЛ УЗНАТЬ.

тоесть Position (которая Int64) надо присвоить MakeLParam(X, Y) и все.


 
Anatoly Podgoretsky ©   (2004-02-05 23:42) [6]

Ну нельзя же без Дельфи писать, конечно можно, но очень тяжело.


 
Юрий Зотов ©   (2004-02-06 11:01) [7]

Пожалуй, скоро дойдет то того, что операцию A+B народ не сможет выполнить без библиотечной функции Add(A, B). Да и ее будут искать на форумах.


 
Polevi ©   (2004-02-06 16:22) [8]

MAKELONG



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

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

Наверх




Память: 0.48 MB
Время: 0.07 c
1-1080217675
NewDelphiUser
2004-03-25 15:27
2004.04.11
Отмена секунд в TDateTimePicker


14-1082031385
p0tia
2004-04-15 16:16
2004.04.11
Переменная time


1-1082456276
Th
2004-04-20 14:17
2004.04.11
Delphi-реализация unix-ф-ции Crypt() (алгоритм DES)


1-1082905364
testt
2004-04-25 19:02
2004.04.11
Подскажите с Format ( %x , [i]);


1-1079945354
16xmax
2004-03-22 11:49
2004.04.11
Randomize