Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2008, 23:57   #1
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,619
По умолчанию Добавление меню к окну приложения...

Здрасте. WinAPI изучаю недавно, поэтому с самого начала столкнулся с проблемой. Значит так. Есть окно, к нему нужно прилепить меню (ну вверху такое выпадающее). В книге прочитал как это сделать. Создал в ресурсах меню IDR_MENU1. Затем написал при заполнении полей класса WNDCLASSEX в поле lpszMenuName имя данного меню - тоесть вот так вот
Код:
	WNDCLASSEX	windowsclass;														
	HWND		hwnd;																
	MSG			msg;																

	windowsclass.cbSize			= sizeof(windowsclass);								
	windowsclass.style			= CS_VREDRAW | CS_HREDRAW;	
	windowsclass.lpfnWndProc	= MainWinProc;										
	windowsclass.cbClsExtra		= 0;												
	windowsclass.cbWndExtra		= 0;												
	windowsclass.hInstance		= hInstance;										
	windowsclass.hIcon			= LoadIcon(NULL, IDI_APPLICATION);					
	windowsclass.hCursor		= LoadCursor(NULL, IDC_ARROW);						
	windowsclass.hbrBackground	= (HBRUSH)GetStockObject(GRAY_BRUSH);				
	windowsclass.lpszMenuName	= L"IDR_MENU1";												
	windowsclass.lpszClassName	= Name;												
	windowsclass.hIconSm		= LoadIcon(NULL, IDI_APPLICATION);					

	RegisterClassEx(&windowsclass);
Ну потом CreateWindowEx и так далее по шаблону. Так вот, когда появляется окно, меню на нем нету!
Пробовал и LoadMenu и SetMenu ничего не помогло.
Подскажите, может я что не так делаю.
Заранее благодарен.
MaTBeu вне форума Ответить с цитированием
Старый 24.09.2008, 00:17   #2
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

windowsclass.lpszMenuName = MAKEINTRESOURCE(IDR_MENU1);

Либо можно тут передать NULL, но самому завести переменную типа HMENU, сделать LoadMenu и при создании окна в параметр HMENU передавать хендл на твое меню.
vvviperrr вне форума Ответить с цитированием
Старый 24.09.2008, 20:23   #3
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,619
По умолчанию

Спасибо, сработало. А вот NULL передавать а потом в функции CreateWindowEx писать то, что получил из LoadMenu - не катит, пробовал, та же проблема - меню нету.
MaTBeu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
от консоли к окну ёжик Общие вопросы C/C++ 3 06.04.2008 17:51
Отсутствует popup меню на кнопке приложения в таскбаре dimfil Компоненты Delphi 9 08.11.2007 15:31
Сообщение другому окну Бонарт Win Api 13 15.08.2007 20:23
Добавление списка в меню ГОСЕАН БД в Delphi 5 15.07.2007 13:34
Мнимое сообщение окну/компоненту об изменении параметров дисплея Megabotan Win Api 5 08.01.2007 13:54