同志们好!
程序在任务栏的右键菜单中得不到响应, 如何解决??
private
      procedure  user_sysmenu(var msg:twmmenuselect); message wm_syscommand;//-----------------------------------------------------------------------
procedure  TForm1.user_sysmenu(var msg:TWMMENUSELECT);
begin
      if msg.IDItem=?????? then  //这里怎么写啊???
        showmessage('good')
      else
        inherited;     
end;
procedure TForm1.FormCreate(Sender: TObject);
   var hmenu:integer;
begin
   hmenu:=getsystemmenu(application.Handle,false);
   appendmenu(hmenu,MF_SEPARATOR,0,nil);
   AppendMenu(hmenu,Mf_STRING,0,'我的菜单');            
end;
解决问题的再送  一根油条+2个鸡蛋

解决方案 »

  1.   

    我第一个答,是不是分应该全给我?:)
    procedure OnAppMessage(var Msg:TMsg;var Handled:boolean);///////////////////////////////////////////
    const SC_MyMenuItem = WM_USER + 1;
    procedure TForm1.FormCreate(Sender: TObject);var
       myMenu:hMenu;
    begin   AppendMenu(myMenu,MF_STRING,SC_MyMenuItem,'my menu');
       AppendMenu(myMenu,MF_STRING,SC_MyMenuItem+1,'哈哈');
       Application.OnMessage:=OnAppMessage;     //响应事件任务栏菜单事件。
    end;procedure TForm1.OnAppMessage(var Msg:TMsg;var Handled:boolean);
    begin
       Handled:=false;
       if (Msg.message=WM_SYSCOMMAND) and (Msg.wParam=SC_MyMenuItem) then
       begin
          showMessage('测试');
          Handled:=True;
       end;
       if (Msg.message=WM_SYSCOMMAND) and (Msg.wParam=SC_MyMenuItem+1) then
       begin
          showMessage('哈哈');
          Handled:=True;
       end;
    end;
      

  2.   

    Mymenu := getsystemmenu(application.Handle, false);