CMFCDesktopAlertWnd实现桌面弹出消息框
来源:互联网 发布:汪涵 知乎 编辑:程序博客网 时间:2024/04/30 15:29
用CMFCDesktopAlertWnd实现类似于QQ消息框:
The CMFCDesktopAlertWnd class implements the functionality of a modeless dialog box which appears on the screen to inform the user about an event
步骤:
- 创建一个CMFCDesktopAlertWnd 的指针。
CMFCDesktopAlertWnd* pPopUp=new CMFCDesktopAlertWnd;2.设置各种属性。
//设置弹出类型pPopUp->SetAnimationType((CMFCPopupMenu::ANIMATION_TYPE)m_nAnimation);//弹出速度pPopUp->SetAnimationSpeed(m_nAnimationSpeed);//透明度pPopUp->SetTransparency((BYTE)m_nTransparency);//自动关闭的延迟时间,如果为0则不自动关闭pPopUp->SetAutoCloseTime(m_bAutoClose?m_nAutoCloseTime*1000:0);3.调用create函数创建 。create有两个重载函数。一个是用CMFCDesktopAlertWndInfo类实现,另外一个是用自定义的对话框实现。
CMFCDesktopAlertWndInfo实现:
CMFCDesktopAlertWndInfo params;if (m_nIcon>0){params.m_hIcon=m_Icons.ExtractIcon(m_nIcon-1);}if (m_strText.IsEmpty()&&m_strLink.IsEmpty()){m_strText=_T(" ");}params.m_strText=m_strText;params.m_strURL=m_strLink;params.m_nURLCmdID=101;pPopUp->Create(this,params,NULL,CPoint(-1,-1));
自定义对话框实现
pPopUp->Create (this, IDD_DIALOG1, m_menuPopup.GetSubMenu (0)->GetSafeHmenu (), CPoint(-1,-1),RUNTIME_CLASS(CMyPopupDlg));
参数: 窗口指针,资源ID,菜单,位置,(-1,-1)在右下角,处理消息的类,继承于CMFCDesktopAlertDialog
CMyPopupDlg的代码
class CMyPopupDlg : public CMFCDesktopAlertDialog{DECLARE_DYNCREATE(CMyPopupDlg)public:CMyPopupDlg(); // 标准构造函数// 对话框数据enum { IDD = IDD_DIALOG1 };protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持DECLARE_MESSAGE_MAP()public:CMFCDesktopAlertWndButton m_btnFlag;CMFCDesktopAlertWndButton m_btnDelete;CStatic m_wndFrom;CMFCLinkCtrl m_btnRL;virtual BOOL OnInitDialog();afx_msg void OnBnClickedFlag();afx_msg void OnBnClickedDelete();afx_msg void OnBnClickedButton1();};
<<span style="color:#cc0000;">这里要注意DECLARE_DYNCREATE(CMyPopupDlg) 其他地方和处理对话框消息完全一样。 cpp文件中 也要有 IMPLEMENT_DYNCREATE(CMyPopupDlg, CMFCDesktopAlertDialog)
- CMFCDesktopAlertWnd实现桌面弹出消息框
- 用PHP实现弹出消息提示框
- JAVA 桌面消息窗体实现
- ActionScript 实现弹出窗口,类似桌面软件
- 弹出消息框 javascript
- 弹出消息框
- 弹出消息框
- android弹出消息框
- 弹出消息框
- QT弹出消息框
- div弹出消息框
- C++弹出消息框
- android 弹出消息框
- 使用jQuery的message插件实现右下角弹出消息框
- 使用jQuery的message插件实现右下角弹出消息框
- 使用jQuery的message插件实现右下角弹出消息框
- 使用jQuery的message插件实现右下角弹出消息框
- C#实现客户端弹出消息框封装类实例
- 黎明的丰收
- Ubuntu面板右上角网络图标无法显示
- 以boost::function和boost:bind取代虚函数
- vc++网络安全编程范例(16)-open ssl 哈希编码解码数据
- 飞鸽传书 宣传单和电话说辞
- CMFCDesktopAlertWnd实现桌面弹出消息框
- axis2
- 入党转正申请书
- MOTO XT316 Android 3.2.4 ROOT [简单安全]
- 关于取模的运算
- 硬盘安装 Fedora 16 以及我的设置(纯属备忘)
- android Toast大全(五种情形)建立属于你自己的Toast
- Programming Clojure学习笔记——探索Clojure
- ddd