我有一个主对话框程序xxxDlg,上面有个视图(View)里放找一个属性板(CPropertySheet) ,属性板(CPropertySheet)上加了2个属性页(CPropertyPage);当是每当鼠标焦点点击在2个属性页(CPropertyPage)上时,按窗口失去焦点(鼠标点击别的对话框)、点击任务栏上的对话框程序对应项,或最小化时, 窗口总是没有反映!但窗口最大化,没有问题! 很郁闷啊,希望有遇过一样问题的大大给解答一下,先谢谢啦!

解决方案 »

  1.   

    if (nState == WA_INACTIVE)表示失去活动状态。
      

  2.   

    WM_ACTIVATE消息 对应的响应函数是哪个呢? 先谢谢啦!
      

  3.   

    我定义了一个响应ON_WM_ACTIVATE的函数,好像都没有消息进入!void CSampleDlg::OnActive(UINT nState,CWnd* pWndOther, BOOL bMinimized)
    {
    TRACE("CSampleDlg::OnActive!\n");}不知道是不是对话框所以的消息都通过系统函数(如下函数)来分发消息啦!void CSampleDlg::OnSysCommand(UINT nID, LPARAM lParam)
    {
    TCHAR("CSampleDlg::OnSysCommand!\n"); if ((nID & 0xFFF0) == IDM_ABOUTBOX)
    {
    CAboutDlg dlgAbout;
    dlgAbout.DoModal();
    }
    else
    {
    CDialog::OnSysCommand(nID, lParam);
    }
    }
      

  4.   

    CSampleDlg是当前活动的窗口吗?
      

  5.   

    主窗口是CSanmpleDlg; 数据焦点在属性页上! 当前活动窗口应该是属性页对应的窗口!