刚刚接触MFC 现在要做个气泡通知 ,点击里面的HTML文本超链接可以访问URL
参照MSDN 我写了以下代码
在消息映射函数 BEGIN_MESSAGE_MAP(CPocketPJDlg, CDialog) 里
添加映射,想将点击超链接后 调用TEST函数处理 NMSHN. pzslink 中 选择的链接
ON_NOTIFY(SHNN_LINKSEL,NotifyID, TEST)
2 . 不知道 wnotifyCode 设为SHNN_LINKSEl 对不?
还是使用ON_MESSAGE(WM_NOTIFY,TEST)??
现在Debug 后发现点击链接后无法激活函数
跟踪后发现在wincore.cpp 中的OnWndMsg 函数里当 消息传入后
-
- if (message == WM_NOTIFY)
- {
- NMHDR* pNMHDR = (NMHDR*)lParam;
- if (pNMHDR->hwndFrom != NULL && OnNotify(wParam, lParam, &lResult))
- goto LReturnTrue;
- return FALSE;
- }
-
发现pNMHDR->hwndFrom=NULL 推测是pCurrentNotification->hwndSink 设置不对 我试了 this->getsafehwnd()、m_hwnd, 设置了个静态的窗体TheDlg
使用TheDlg->m_hwnd,TheDlg->GetsafeHwnd() 都不行.........
向各位高手求救~~~ 麻烦 解答下上面我的两个疑问,另外 希望能有个代码示例参考下.......... 以上都是我自己摸索的 不知道是否正确..............