Главная страница
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.025 c
1-1092298386
Ренат
2004-08-12 12:13
2004.08.29
Загрузить .gif файл


4-1089798727
Andrew
2004-07-14 13:52
2004.08.29
Каким способом определить под какой ОС (98,XP) запустили прогу?


3-1091445012
Солер
2004-08-02 15:10
2004.08.29
как открыть таблицу и изменить запросы малой кровью.


1-1092150879
3APA3A
2004-08-10 19:14
2004.08.29
Переключение на другую страницу в TPageControle


8-1086771174
Юля
2004-06-09 12:52
2004.08.29
*.cdr , *.pdf - изображения в Image