OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 18 Июнь, 2025 22:58

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: WinApi как получить LPARAM?
СообщениеДобавлено: Вторник, 11 Апрель, 2006 13:29 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Здравствуйте.
Кто-нибудь работал с WinApi?
Не подскажете, как при запуске процедуры
SendMessage (hWnd: HWND; Msg: INTEGER; wParam: WPARAM; lParam: LPARAM): LRESULT;

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

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 11 Апрель, 2006 14:46 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
В сигнатуре процедуры WParam - это просто INTEGER. Что в него передавать - зависит от типа сообщения, которое Вы будет посылать.

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

VAR
sh: ARRAY 255 OF SHORTCHAR;

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 12 Апрель, 2006 20:40 

Зарегистрирован: Вторник, 11 Апрель, 2006 19:46
Сообщения: 12
Зачем же так извращаться? Можно просто
SendMessage(..,..,..,(LPARAM)YourString);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 20 Апрель, 2006 18:39 
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 15 Май, 2006 08:21 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Спасибо


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

Зарегистрирован: Суббота, 02 Август, 2008 23:01
Сообщения: 43
Иногда приходится получать через LPARAM несколько значений. Например, координаты мыши. Подскажите, как взять старшее и младшее слово из LPARAM.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WinApi как получить LPARAM?
СообщениеДобавлено: Понедельник, 01 Март, 2010 17:52 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Код:
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);


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

Зарегистрирован: Суббота, 02 Август, 2008 23:01
Сообщения: 43
Спасибо!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2025, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB