Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.044 c
14-1079359521
Piter
2004-03-15 17:05
2004.04.11
Что-то форум тормозит


3-1081923686
Имя2
2004-04-14 10:21
2004.04.11
Фильтрация


7-1079454959
Iks
2004-03-16 19:35
2004.04.11
Как из биоса достать инфу о температуре компа


14-1082022130
stone
2004-04-15 13:42
2004.04.11
Стенография для программиста :))


6-1075905217
DillerXX
2004-02-04 17:33
2004.04.11
Закачка файлов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский