Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: 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 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
14-1091985919
AlexG
2004-08-08 21:25
2004.08.29
Говорят, технология ActiveX устарела


14-1092315003
Кириешки
2004-08-12 16:50
2004.08.29
У кого Opera стоит?


1-1092159525
sharik_212
2004-08-10 21:38
2004.08.29
Текст в RxRichEdit


1-1092196174
maxkat
2004-08-11 07:49
2004.08.29
глобальные переменные!


14-1092279641
Кириешки
2004-08-12 07:00
2004.08.29
Сокращения типа LOL или ИМХО