|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.09.2016, 15:04 | #1 | |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
кнопка BS_OWNERDRAW, WPARAM всегда равен 0
Здравствуйте.
Нужна кнопка с ручной отрисовкой. Ставлю ей стиль WS_CHILD or WS_VISIBLE or BS_OWNERDRAW. Согласно MSDN, родительскому окну должно приходить сообщение WM_DRAWITEM, в котором WPARAM равен идентификатору контрола, а LPARAM это указатель на структуру DrawItemStruct. Ну вы это и без меня прекрасно знаете. Проблема в том, что это нифига не так. На самом деле в сообщении WM_DRAWITEM, посланного кнопкой, WPARAM равен нуль, а LPARAM не понятно чему. Хотя в MSDN написано: Цитата:
Код:
Последний раз редактировалось BLACK_RAIN; 11.09.2016 в 07:26. |
|
12.09.2016, 10:39 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Насколько я вижу, у вашей кнопки идентификатор равен нулю, что собственно и получаете в параметре WPARAM.
Пересмотрите параметры CreateWindow(). Кроме того, можете проверить содержимое DRAWITEMSTRUCT - там есть CtlType и CtlID. |
12.09.2016, 10:50 | #3 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
UserControl.Parent всегда равен null В чем причина? | ImmortalAlexSan | WPF, UWP, WinRT, XAML | 0 | 20.06.2015 12:10 |
Message.wParam равен VK_BACKSPACE: клавиша, которую не жал, порождает сообщение? | malor | Общие вопросы Delphi | 0 | 09.08.2011 21:25 |
WPARAM wParam, LPARAM lParam, LPVOID *lpParam | mizantrop32 | Win Api | 2 | 18.02.2011 12:10 |
WPARAM wParam, LPARAM lParam откуда берётся? | Garic_ | Общие вопросы C/C++ | 4 | 09.06.2010 22:42 |
Всегда позади и всегда впереди в одном приложении | Legat | Win Api | 4 | 27.10.2007 15:48 |