![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]()
Здравствуйте.
Код:
Код:
Код:
В чем дело? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,371
|
![]() |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,371
|
![]()
Ну и где сказано, что идентификатор должен быть больше нуля?
HMENU это вообще указатель, какие тут знаки. |
![]() |
![]() |
![]() |
#5 | ||
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]() Цитата:
![]() Вот же ясно написано: https://msdn.microsoft.com/en-us/lib...=vs.85%29.aspx Цитата:
|
||
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
HMENU это беззнаковый тип (LongWord). А LPARAM longint насколько помню. Если HMENU будет больше максимального int - чего в LPARAM будет?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]() |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
HMenu имеет вполне определенную константу нуля, иное значение принято считать корректным меню.
смотрим тут: https://msdn.microsoft.com/ru-ru/lib...(v=vs.85).aspx и видим что NULL это отсутствие меню, остальное присутствие. сравнивайте с NULL если вам надо знать есть или нет. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]() Цитата:
HMENU это хэндл меню, а никакой не указатель! И обращаемся к меню мы именно по этому хэндлу! а не просто проверяем, есть меню или нет. |
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,371
|
![]()
Ну и обращайтесь, в чем проблема?
Просто надо проверять не > 0 а != 0, вот и все. В самой винде все манипуляторы объявлены как указатели. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
KeyBoardProc, расшифровка lParam | KoBaL | Общие вопросы Delphi | 3 | 03.07.2013 10:09 |
lParam и wParam | Sylar9 | Win Api | 5 | 10.04.2012 19:11 |
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 |
lb_GetSelItems. Проблемы с lParam | Izhic | Win Api | 2 | 20.10.2008 18:16 |