高仿QQ右下角新闻弹窗之MFC版

原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/18032495


由于项目需要做一个类似于QQ新闻的消息弹窗,谷歌一下,有现成的。感谢@泪闯天涯的分享。原版是Win32实现的,我把它改成MFC版,可以在代码中直接使用。


1.开发环境

VS2010/MFC


2.源码说明

保留Win32API实现自绘,支持多种风格。为区分于Win32版,更名为CMsgWindow类,继承于CWnd类。修改的内容主要有:

(1)Create函数中窗口的注册使用AfxRegisterWndClass

(2)用MFC方式处理消息响应:OnPaint,OnEraseBkgnd,OnLButtonUp,OnControlClick,OnLButtonDown,OnMouseLeave,OnMouseMove,OnSetCursor,OnDestroy。

(3)弹窗是非模态对话框,处理了PostNcDestroy函数,调用delete this防止内存泄漏。移除了SetMainWindow函数。

(4)其他Win32函数到MFC函数的转换,主要是处理句柄问题。


3.代码使用

	// 创建窗口
	BOOL Create(HWND hWndParent,LPCTSTR lpWindowName,int nWidth=250,int nHeight=180);

	// 显示窗口
	void Show();

	// 设置皮肤(位图资源名称,标题栏文本颜色)
	BOOL SetSkin(LPCTSTR lpBitmapName,COLORREF CaptionColor=0x000000);

	// 设置新闻标题、内容、链接
	BOOL SetMsg(LPCTSTR lpNewsTitle,LPCTSTR lpNewsContent,LPCTSTR lpNewsURL="");

	// 设置自动关闭,如果为真,点击链接后窗口自动关闭
	void SetAutoClose(BOOL bAutoClose);

4.效果图

高仿QQ右下角新闻弹窗之MFC版_第1张图片


5.源码下载

源码包含:win32版,MFC版,源码,示例,效果图。

CSDN下载地址:http://download.csdn.net/detail/jackyvincefu/6827375

Github地址:https://github.com/fusijie/Win32-MFC_Popup_Window


你可能感兴趣的:(VC/MFC)