CUserDefMsgDlg后面按::之后,弹出的提示代码里,有
OnActivate函数,写入之后,编译,说该函数未定义。void CUserDefMsgDlg::OnActivate(UINT, CWnd*, BOOL)
{
AfxMessageBox("被激活");
}
如果在头文件里定义该函数,编译通过,达不到我想要的效果,就是程序被激活的时候,弹出对话框。

解决方案 »

  1.   

    afx_msg void OnActivate(
       UINT nState,
       CWnd* pWndOther,
       BOOL bMinimized 
    );
    这是MSDN上写的,就是这样了,还能怎么写,参数正不正确我也用不着呀
      

  2.   

    http://topic.csdn.net/t/20050221/21/3796347.html
    这儿有参考资料,但人家说有个什么消息映射,怎么映射呀?
      

  3.   

    BEGIN_MESSAGE_MAP(CUserDefMsgDlg, CDialog)
    //{{AFX_MSG_MAP(CUserDefMsgDlg) //}}AFX_MSG_MAP
    ON_MESSAGE(WM_ACTIVATE, OnActivate)
    END_MESSAGE_MAP()
    void CUserDefMsgDlg::OnActivate(WPARAM wParam, LPARAM lParam)
    {
    if (LOWORD(wParam) == WA_ACTIVE||LOWORD(wParam) == WA_CLICKACTIVE)
    {
    char s[5];
    SetWindowText(itoa(i++, s, 10));
    }
    }