弹出菜单以后,如何知道菜单什么时候关闭了?

解决方案 »

  1.   

    自己截获一下消息
    WM_COMMAND
    WM_CONTEXTMENU 
    WM_DRAWITEM
    WM_ENTERMENULOOPWM_EXITMENULOOPWM_INITMENU
    WM_INITMENUPOPUP
    WM_MEASUREITEM
    WM_MENUCHAR
    WM_MENUSELECT
    WM_SYSCOMMAND 看看那个是你要的
      

  2.   

    楼上列出的是系统菜单的消息, 与PopupMenu没关系
      

  3.   

    WM_COMMAND  
    WM_CONTEXTMENU   
    WM_DRAWITEM  
    WM_ENTERMENULOOP  
    WM_EXITMENULOOP  
    WM_INITMENU  
    WM_INITMENUPOPUP  
    WM_MEASUREITEM  
    WM_MENUCHAR  
    WM_MENUSELECT  
    WM_NEXTMENU  
    WM_SYSCOMMAND  
    关键看一下 WM_EXITMENULOOP看一此消息 WM_EXITMENULOOP
      

  4.   

    //关键要记住  加入  TPM_RETURNCMD
    if TrackPopupMenu( PopupMenu1.Handle ,TPM_LEFTALIGN or TPM_RETURNCMD , 100 , 100,0,Handle ,nil) then
      Panel1.Caption := '1'
    else
      Panel1.Caption := '2' ;