下载代码: |
程序运行效果截图: |
这是一个从VC的每日提示组件改编的每日提示类,使用HTML模板用来显示每日提示信息。其中,ChtmlCtrl类参考了Paul Dilascia在msj上的文章。这篇文章在VCKBASE上有两篇译文(1,2)。这是一个很好用的东西,但是和HTML交互可不是一件容易的事,微软的DHTML组件提供了无数的接口。我已经在ChtmlCtrl里增加了一些和HTML页面元素交互的函数,不过只是用来支持每日提示类的。我近期准备作一个比较完善的类,把DHTML中常用的东西包装一下,这样就很容易开发基于HTML控件的MFC程序了,如果有人需要的话我也可以放上来。 使用方式: 1、将ChtmlCtrl.cpp和CTipDlg.cpp加入到工程中; 2、在工程中插入一个对话框资源,资源的ID必须是IDD_TIP; 3、在资源文件中加入html模板页面和相关资源文件,例如: ///////////////////////////////////////////////////////////////////////////// // // HTML // TIP.HTM HTML DISCARDABLE "res\about.htm" NEXT.GIF HTML DISCARDABLE "res\next.gif" CANCEL.GIF HTML DISCARDABLE "res\cancel.gif" BACK.GIF HTML DISCARDABLE "res\back.gif" 4、在需要调用每日提示的类文件中包含#include "CTipDlg.h";或者在Stdafx.h文件中加入这个行(建议方式) 5、在App类的InitInstance()函数中增加下列代码: CTipDlg tipDlg; if(tipDlg.m_bStartup) { tipDlg.DoModal(); } 6、在任何需要显示每日提示的地方加入下列代码: CTipDlg dlg; dlg.DoModal(); 7、在Stdafx.h中加入下列代码: #pragma warning(disable:4192) #import e:windowssystem32mshtml.tlb" //(你可能需要修改这个路径) 最后,别忘了编辑你的tips.txt文件。你可以修改HTML模板,只要模板里的命名元素跟现在模板里的一致就可以了,这样就可以生成任何你喜欢的样式。 希望这个类能给你带来帮助,如果你有什么好的建议或者发现什么BUG,欢迎跟我联系。 |