Форум: "WinAPI";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
ВнизWM_MENUSELECT Найти похожие ветки
← →
webpauk (2004-07-14 20:38) [0]Устанавливаю меню окна:
var
MainMenu, PopGame, PopDeck: HMENU;
begin
PopGame:=CreatePopupMenu;
AppendMenu(PopGame, MF_STRING, 2, PChar("Новая"));
AppendMenu(PopGame, MF_STRING, 3, PChar(Загрузить));
AppendMenu(PopGame, MF_STRING, 4, PChar(Сохранить));
AppendMenu(PopGame, MF_STRING, 5, PChar("Выход"));
PopDeck:=CreatePopupMenu;
AppendMenu(PopDeck, MF_STRING, 7, PChar("Стандарт"));
AppendMenu(PopDeck, MF_STRING, 8, PChar("Загрузить"));
MainMenu:=CreateMenu();
AppendMenu(MainMenu, MF_POPUP, PopGame, PChar("Игра"));
AppendMenu(MainMenu, MF_POPUP, PopDeck, PChar("Доска"));
AppendMenu(MainMenu, MF_POPUP, 9, PChar("История"));
SetMenu(MainWnd, MainMenu);
После этого ловлю сообщение:function WindowProc(wnd: HWND; Msg: Integer; Wparam: WPARAM; Lparam: LPARAM): LRESULT; stdcall;
Begin
case msg of
WM_DESTROY :
Begin
DestroyMenu(MainMenu);
PostQuitMessage(0);
Exit;
End;
WM_CLOSE: SendMessage(wnd, WM_DESTROY, 0, 0);
WM_MENUSELECT:
begin
case LOWORD(Wparam) of
5:
begin
if Lparam
SendMessage(MainWnd, WM_CLOSE, 0, 0);
end;
end;
end;
end;
end;
Проблема такая:
при наведении мыши на пункт 5, окно закрывается, хоть пункт я не нажимаю.
В чём тут дело?
← →
webpauk (2004-07-14 20:43) [1]Правильно читать так:
WM_MENUSELECT:
begin
case LOWORD(Wparam) of
5:
begin
SendMessage(MainWnd, WM_CLOSE, 0, 0);
end;
end;
end;
← →
webpauk (2004-07-14 21:10) [2]Правильно отлавливать реакцию на нажатие: WM_COMMAND
← →
NAlexey © (2004-07-15 08:50) [3]>webpauk (14.07.04 20:43) [1]
Развлекаешся?
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.036 c