Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.019 c
8-1086892049
FALCON
2004-06-10 22:27
2004.08.29
TImage


11-1079703101
Михаил
2004-03-19 16:31
2004.08.29
Перенаправление параметров вывода.


1-1092210799
ruslan
2004-08-11 11:53
2004.08.29
Timage


1-1092385796
starik30
2004-08-13 12:29
2004.08.29
Многопоточность + FIBPlus


14-1092189396
Думкин
2004-08-11 05:56
2004.08.29
С днем рождения! 11 августа




   Наверх