如果这个时候,我并没有选择这个菜单的菜单项,而是点击在其它地方,也不是这个图标上,这个时候,这个图标应该消失,就想输入法、时间、音量控制一样的效果该如何实现??????谢谢!

解决方案 »

  1.   

    OK,文提搞定了!
    缺少:
    SetForegroundWindow()
    PostMessage();
    新问题:
    当我的菜单显示后,我没有及时点击彩单项
    这个时候屏幕最下面一排的任务栏等都在不停的闪烁,如何解决
      

  2.   

    我刚才又测试了一下效果,发现出现抖动或闪烁的时候,是因为一个菜单时启动一个线程,当这个线程在run中时,并且弹出菜单显示的时候,才会抖动,其他时候好好的???
      

  3.   

    托盘程序是常规的
    启动线程:void CMainFrame::OnMyStart() 
    {
    // TODO: Add your command handler code here
    mythread[0]=AfxBeginThread(ThreadProc,GetSafeHwnd(),THREAD_PRIORITY_BELOW_NORMAL,0,CREATE_SUSPENDED,NULL);
    // mythread[1]=AfxBeginThread(TrapProc,0,THREAD_PRIORITY_BELOW_NORMAL,0);
    ResumeThread(mythread[0]->m_hThread);
    mythread[0]->m_bAutoDelete=TRUE;

    m_EventStart.SetEvent();
    m_IsRun=TRUE;
    m_IsExit=FALSE;
    IsThreadFinished=FALSE;}UINT ThreadProc(wParam)
    {
       无限循环;
       {操作sql server ,以及snmp通讯}
    }