OberonCore
https://forum.oberoncore.ru/

WinApi как получить LPARAM?
https://forum.oberoncore.ru/viewtopic.php?f=2&t=158
Страница 1 из 1

Автор:  Kubanych [ Вторник, 11 Апрель, 2006 13:29 ]
Заголовок сообщения:  WinApi как получить LPARAM?

Здравствуйте.
Кто-нибудь работал с WinApi?
Не подскажете, как при запуске процедуры
SendMessage (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;

правильно заполнить параметр типа LPARAM.
(через него надо будет передать строку).

Заранее благодарю.

С уважением,
Кубанычбек.

Автор:  Илья Ермаков [ Вторник, 11 Апрель, 2006 14:46 ]
Заголовок сообщения: 

В сигнатуре процедуры WParam - это просто INTEGER. Что в него передавать - зависит от типа сообщения, которое Вы будет посылать.

Если вторым параметром должна пойти ACIIZ-строка (1-байт символы, завершающий нуль), то нужно сделать так:

VAR
sh: ARRAY 255 OF SHORTCHAR;

sh := SHORT(string);
wparam := SYSTEM.ADR(sh);

Автор:  FromOGU [ Среда, 12 Апрель, 2006 20:40 ]
Заголовок сообщения: 

Зачем же так извращаться? Можно просто
SendMessage(..,..,..,(LPARAM)YourString);

Автор:  Илья Ермаков [ Четверг, 20 Апрель, 2006 18:39 ]
Заголовок сообщения: 

ОТ МОДЕРАТОРА:
дальнейшее обсуждение перемещено в раздел "Современные технологии", в тему "Языки высокого уровня, аппаратная поддержка и т.п."
http://blackbox.metasystems.ru/forum/vi ... .php?t=167

Автор:  Kubanych [ Понедельник, 15 Май, 2006 08:21 ]
Заголовок сообщения: 

Спасибо

Автор:  Rafi [ Понедельник, 01 Март, 2010 17:25 ]
Заголовок сообщения:  Re: WinApi как получить LPARAM?

Иногда приходится получать через LPARAM несколько значений. Например, координаты мыши. Подскажите, как взять старшее и младшее слово из LPARAM.

Автор:  Евгений Темиргалеев [ Понедельник, 01 Март, 2010 17:52 ]
Заголовок сообщения:  Re: WinApi как получить LPARAM?

Код:
x: INTEGER
hi, lo: SHORTINT;
lo := SHORT(ORD(BITS(x) * {0..15}));
hi := SHORT(ASH(x, -16));
след. вариант оптимизируется до первого
lo := SHORT(x MOD 65536);
hi := SHORT(x DIV 65536);

Автор:  Rafi [ Вторник, 02 Март, 2010 09:51 ]
Заголовок сообщения:  Re: WinApi как получить LPARAM?

Спасибо!

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/