您的位置:逆风者 VC++ 正文
 添加时间:2007-09-01 原文发表:2007-08-31 人气:112 来源:vckbase.com

本文章共4640字,分3页,当前第2页,快速翻页:
 


二、屏蔽 IE 控件的上下文菜单

  屏蔽或自定义 IE 控件的上下文菜单,其实就是需要实现 IDocHostUIHandler 接口中的 ShowContextMenu 方法。如果使用 ATL 编写程序,我认为实现是比较简单的(也许是我使用 ATL 写 COM 比 MFC 熟悉一些的因素吧)。事例程序由于用 MFC 书写,真是搞的我头晕眼花,翻箱倒柜终于找到了微软书写的演示代码,于是我就直接复制过来使用了。(换句话说,读者在阅读这部分代码的时候,如果有问题可不要问我。你直接打电话去咨询 Microsoft 哈。)
逆风编程精品


三、扩展 HTML 脚本中的 external 对象

  从 CCmdTarget 派生一个自动化对象(新建C 类的时候,注意别忘了选择 Automation)。在这个类里,你可以使用 ClassWizard 的 Automation 卡片,添加自定义的方法和属性。而在 HTML 的脚本程序中,就可以使用 window.external 进行调用了。用这个方法,实现了对 HTML 脚本功能的扩充。在 HTML 脚本和自动化对象之间要建立起关系,则需要实现 IDocHostUIHandler::GetExternal() 方法。


四、显示 HTML 样式的对话窗

  这节内容是本文的重点。
  用户的界面设计经历了若干个发展阶段。最早的程序设计,可以说没有用户界面;然后发展出一些简单的与用户交互的界面(控制台界面,全屏文本界面);再然后发展出了图形界面。其实我们现在的商业程序设计中,界面的处理代码占用了很大的篇幅。为了使界面的处理变得简单、通用、易修改维护,人们制作了很多的界面程序库。说实在话,大多数的界面程序库由于封装的不好,一是不灵活,二是经常需要修改它内部的 BUG,重用的效果并不理想。通用的换肤软件也只能实现对标准的窗口类进行皮肤美化,对自定义的窗口类还是需要自己写钩子。咳......
  现在,我们已经有一个非常好的方法进行界面设计了,那就是使用 HTML(使用 Visual Studio.net 的程序员,一定对 .net 的界面很喜欢吧?!.net 开发环境,无处不在使用 HTML 方式的界面)。即使是一个完全地道的本地软件(非B/S软件),也可以使用本地 ASP 方式,HTA 方式进行程序设计。软件用户非常喜欢这样的程序,因为他早就熟悉并掌握了浏览器的操作,另外,对于程序员来说,也非常喜欢这种方式,因为不会再为换肤,不同用户不同的界面特化而伤脑筋了。
  微软将要在下一代的程序设计中使用 XML 来描述用户界面。这种设计方式将会解放你、我这样的程序员,把咱们的工作量全部都转化到美工师那里去了:) 借 vckbase 的平台,现在呼吁大家,尽快学习和掌握 HTML、XML 的设计和脚本编程,并能熟练地对它们与 C 对象的交互进行编程。可以预计在未来的两三年内,拥有这样水平的程序员,一定会开始吃香饽饽了,嘿嘿......
  下面,就如何显示一个 HTML 对话窗,开始我们未来软件方式的编程吧。
  我们要调用 MSHTML.DLL 中的一个函数 ShowHTMLDialog(Ex) 来完成 HTML 对话窗的显示和数据交互。这个函数的声明是:
HRESULTShowHTMLDialogEx(  
  HWNDhwndParent,   IMoniker*pMk,   DWORDdwDialogFlags,   VARIANT*pvarArgIn,   WCHAR*pchOptions,   VARIANT*pvarArgOut );
hwndParent 对话窗的父窗口句柄 这个太简单了,不多罗嗦。 pMk URL的命名接口指针 表示在对话窗中显示哪个URL的页面。但它不是以简单的URL字符串方式提供的。它使用了moniker(命名)接口指针。 根据URL得到IMoniker *很简单,调用CreateURLMoniker()。唯一要注意的是,这个函数需要连接 Urlmon.lib
 
本文章更多内容<<上一页 - 1 - 2 - 3 - 下一页>>
相关文章

多功能标签CLabelEx
自己编的SQL服务端加客户端
简单快速的哈夫曼编码
谈谈软件项目管理的重要性
检测:.NET中强大的检测选项让你有信心建立
一个生成公章图片的简易工具
KVIP考勤系统
Windows SDK笔记(七):创建MDI窗口
基于 SSL 的 ASP.NET Web 应用测试自动化
层叠式窗体控件指南
用VC 创建自定义向导程序
如何在 Windows NT、Windows 2000 和 Windo
对C#中的TreeView加背景图
static_cast<>揭密
自己写 FILTER 改变画面颜色
如何去掉浮动工具条中的“关闭”按钮
ResizeParentToFit,destructors及其他
Javascript - Prototype Based Language
函数功能流程图,in as,line feed
使用VC ATL实现Office的COM插件

相关评论


本文章所属分类:首页 VC++

  热门关键字: