需求:
在托盘弹出消息提示框, 提示框中的内容是html的文本流显示的页面内容.
此功能是个组件化的功能,为了被别的exe整合, 应该做成ocx.
稍后整合应用.
<2010_1016_2013>
1. 把功能封在了一个控件内, 提供给调用者的接口完成. 接口名称不易读, 稍后修正.
2. 调用控件的测试程序完成.
3. 托盘图标的增加,修改,删除,动画显示完成.
4. html信息提示框的创建,删除,显示,隐藏,动画缩放显示完成.(这个Dialog还是个空的, 显示html信息的代码下一步完成)
显示html文本的效果, 参考以下demo. 效果很棒, 需要把功能扒出来.
http://www.codeproject.com/KB/miscctrl/pptooltip.aspx
从上面的线索又找到了最贴切的一个效果:
http://www.codeproject.com/KB/static/pphtmlstatic.aspx
我们就迁入这个效果到工程.
迁移完成. 经过测试, 简单的html文本可以显示. 稍长些的文本无法正常显示, 估计是html分析的有问题,导致ChtmlStatic死在分析里面了.
而且实际的html语法匹配的不是很全, 这样会导致ChtmlStatic崩溃错误. 等调试完了, 只能和调用者约定好,传简单的html文本流进来.
如果有个好的html语法分析器,容错强些的就能解决这个问题。
测试结果:
1. 对表格支持的不好, <tr>必须对应</tr>, 不加</tr>会死掉, 因为字符串搜索时出现了问题.
2. 输入格式不自由,html格式符号必须严格匹配, 每行之间不能有回车和多余空格, 必须由调用者来保证.
3. 不支持滚动查看方式.
4.显示的html文本流里面有中文时, 要去掉所有多余的回车,前导/t, 前导空格, 尾巴上的空格, 形成一行的输入.才能正确显示.
实际应用中,需要写一个过滤函数做这个工作.
效果图
实际应用时,要改善弹出消息对话框的显示效果(背景位图; 位图按钮; CHtmlStatic显示时的效果, 要做很多实验, 有很多参数可以设置), 现在的效果还比较丑.
输入的html文本流
CHtmlStatic控件支持css样式, 我在代码中写死了. 实际应用中是由美工来确定css样式文件, 由应用程序读回并设置.
工程下载点:
http://download.youkuaiyun.com/source/2763602
<2010/10/18>
解决CHtmlStatic滚动的问题,思路如下.
1. 在消息弹出Dialog中建立view(Score View), codeguru上有个线索.
http://www.codeguru.com/Cpp/W-D/dislog/article.php/c5007
2. 在view中动态的创建CHtmlStatic, CHtmlStatic有方法可调用,显示全部的Html的Static图像.
这时调整view的size, 因为view的窗口比图像小了,所以滚动条很容易就出来.
<2010/10/18 17:39>
可以考虑改成用xtreme界面库, 手头版本xtreme V13
<<MarkupSample files>>中对话框中也有HtmlStatic的效果.
<<Notifications files>>的弹出窗口效果好很多.
本文介绍了一款用于显示HTML格式静态文本的控件开发过程,解决了文本显示、滚动及HTML解析等问题,并提供了完整的实现方案。
165

被折叠的 条评论
为什么被折叠?



