lParam и wParam

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: lParam и wParam

Re: lParam и wParam

Лена89 » 27 июн 2007, 20:10

Спасибо, понятно.

Re: lParam и wParam

Romeo » 27 июн 2007, 16:44

Лена, ты издеваешься? Тебе же сказали, что значение этих параметров зависит от мессэйджа. Они не статичны!

Например для WM_SIZE wParam хранит тип ресайза, а lParam - новую ширину и высоту в младшем и, соответственно, старшем словах.

Для того же WM_PAINT - эти параметры не используются.

Какой смысл имеет wParam и lParam для конкретного сообщения можно прочесть в MDSN.

Re: lParam и wParam

BBB » 27 июн 2007, 16:39

Лена89 писал(а):Что примерно...вообще там может быть?
Все, что угодно. Зависит от конкретного Windows-сообщения:
WinMain писал(а):Обычно функции SendMessage(), PostMessage() и др. используют данные параметры. Содержимое WPARAM и LPARAM зависят от каждого конкретного оконного сообщения. Смотри в MSDN информацию по оконным функциям и сообщениям.
Absurd писал(а):Нести эти два параметра могут все что угодно: координаты мыши, код нажатой клавиши на клавиатуре, или указатель на интерфейс/функцию.
Обычно, в описании того или иного Windows-сообщения (иденцифицируемого константой вида WM_xxxxxxxx) указывается, используются ли для ДАННОГО сообщения wParam и lParam и какая информация (опять же - для ДАННОГО сообщения) в них находится.

Re: lParam и wParam

Лена89 » 27 июн 2007, 16:17

Что примерно...вообще там может быть?

Re: lParam и wParam

Лена89 » 24 июн 2007, 19:33

Нет, я имела ввиду вместо: (HWND)lParam, (HDC)wParam и hEdit.

Re: lParam и wParam

Absurd » 22 июн 2007, 18:13

Хотя нет, вру.

MSDN:

Remarks
The WM_CTLCOLOR message has been replaced by more specific notifications in 32-bit versions of Windows. These replacements include the following:


WM_CTLCOLORBTN
WM_CTLCOLOREDIT
WM_CTLCOLORDLG
WM_CTLCOLORLISTBOX
WM_CTLCOLORSCROLLBAR
WM_CTLCOLORSTATIC

Re: lParam и wParam

Absurd » 22 июн 2007, 13:15

Не понял вопрос. Если сообщение - WM_CTLCOLOR, то действительно wParam - Это Handle to Display Context, а lParam - это HWND контрола. Что вам нужно заменить?

Re: lParam и wParam

Лена89 » 22 июн 2007, 11:45

Спасибо, вам!

А здесь, чем их можно заменить?

Код: Выделить всё

case WM_CTLCOLOR:{   
       if((HWND)lParam == hEdit) 
             SetTextColor((HDC)wParam, RGB(255 ,0 ,0));

Re: lParam и wParam

Absurd » 20 июн 2007, 14:09

Читала книги, но не могу толком понять для чего нужны в некоторых ф-ях lParam и wParam?
Превед из 16-битной Win 3.11.
lParam - 32 - битовый парaметр (long в 16 битовой среде это 32 бита), wParam - word param, word это 16 бит. Сейчас понятия "WORD" и "DWORD" устарели.
Ныне оба типа - это 32 или 64 битовые целые в зависимости от ОС - Win32 или Win64.
Нести эти два параметра могут все что угодно: координаты мыши, код нажатой клавиши на клавиатуре, или указатель на интерфейс/функцию.

Re: lParam и wParam

WinMain » 20 июн 2007, 13:05

Обычно функции SendMessage(), PostMessage() и др. используют данные параметры. Содержимое WPARAM и LPARAM зависят от каждого конкретного оконного сообщения. Смотри в MSDN информацию по оконным функциям и сообщениям.

Вернуться к началу