在mfc编程中创建web风格的图形用户界面(五)

翻译 2006年06月20日 16:54:00

用CHtmlDialog类创建dialog窗口显示html

   除了主窗口之外,大部分应用程序还需要创建其它会话窗口。这些会话窗口也可能会需要设计十分复杂的界面,不仅仅是在外观上来说,还包括对于用户操作的响应也是一样繁杂。所以说,十分有必要在这些地方也使用dhtml来设计用户界面。关于如何使用CView的派生类显示会话窗口的内容,在msdn中 Paul DiLascia 已经为我们提供了解决方案。在前面对ChtmlView进行改进之后,我们现在又要用CView的派生类Chtmldialog来显示dialog窗口的内容。ChtmlClass将为我们解决两个问题:设置dialog窗口的名称和尺寸。具体参数将由html页面指出。 

   CHtmlDialog类的使用步骤:

   ♦ 将dialog插入资源文件中,并显示dialog界面中的静态元素(这些元素之后将被html的元素所取代),然后,创建一个mfc基类(派生于CDialog)。

   ♦ 在头文件中由CHtmlDialog中派生一个类(例如Dlg4.h)。

// inheriting the class from CHtmlDialog
class CDlg4 : public CHtmlDialog
{
// Construction
public:

   ♦ 在派生类CDlg4的构造函数运行时确保基类ChtmlDialog的构造函数先运行(例如Dlg4.cpp)。

CDlg4::CDlg4(CWnd* pParent /*=NULL*/)
    :CHtmlDialog(CDlg4::IDD,pParent,  IDR_HTML4,
         IDC_STATIC1) // the HTML page resource transmission
{
    //{{AFX_DATA_INIT(CDlg4)
        // NOTE: the ClassWizard will add member initialization here
    //}}AFX_DATA_INIT
}

    ChtmlDialog类还可以允许改变会话框的大小。请看下面的两副屏幕截图。

   看了之前的几篇笔记,似乎所有问题都解决了?不不,还有两个问题给我们留下一些小小的麻烦。

   1、在用窗口中显示出来的html格式界面的同时,通过函数SetWindowLong设置窗口的外部属性无法生效。

   2、当用户改变了IE的设置也就是说改变了html格式的显示设置之后,程序的界面就会发生变化。

   如果说第一个问题大部分人还能够容忍的话,第二个问题则是让我们无法接受。这将导致我们的程序在不同的用户IE设置下呈现出不同的外观。

    对于这第二个问题,当前,也已经有了更高级的解决方案,叫做Advanced Hosting Interfaces (AHI) 。Ethan Akhgari 为我们提供了很好的实例介绍这种更好的解决方案。

译者“且听风吟”注:

本人翻译这篇高手之作为了将学习界面编程的好文章与大家分享,然而事与愿违的是本人的英文水平真的太有限,也许我的译文连自己都看不明白。所以这里附上原文地址:

http://www.codeproject.com/dialog/web_gui.asp

在mfc编程中创建web风格的图形用户界面(二)

html窗口事件处理   CHtmlView类中缺少了什么?   典型的程序处理脚本都是假定能够从程序界面的各个元素(比如按钮)中接收到事件或者数据输入。所以在我们的程序中,还需要解决html界面与M...
  • zhengjie19
  • zhengjie19
  • 2007年08月10日 17:17
  • 1711

在mfc编程中创建web风格的图形用户界面(四)

html窗口事件处理   CHtmlView类中缺少了什么?   典型的程序处理脚本都是假定能够从程序界面的各个元素(比如按钮)中接收到事件或者数据输入。所以在我们的程序中,还需要解决html界面与M...
  • realphenix
  • realphenix
  • 2006年06月19日 19:38
  • 1520

在mfc编程中创建web风格的图形用户界面(三)

用CHtmlView类显示html格式   我们需要将程序界面中的html代码做一些改动,让他们看起来和IE中看到的略有不同。   在MFC程序中显示html格式是很容易的事情。只需要我们调用CHtm...
  • realphenix
  • realphenix
  • 2006年06月19日 16:38
  • 1390

在mfc编程中创建web风格的图形用户界面(一)

 文章的介绍   本文将为大家介绍如何在一个用MFC编写的程序中创建web风格的图形用户界面。这里我所讲述的“application with Web-style GUI”,意思是说用户界面的全部或者...
  • zhengjie19
  • zhengjie19
  • 2007年08月10日 17:12
  • 2135

在mfc编程中创建web风格的图形用户界面(二)

使用web风格用户界面的例子   web风格的用户界面实际上是在微软的程序中第一次出现的,就用在微软的操作系统中。(这种界面风格可以作为开发者一种不错的选择,我很痛恨微软为何不把这种方式推荐给大家,为...
  • realphenix
  • realphenix
  • 2006年06月19日 12:20
  • 1777

【MFC添加XP风格】

给MFC控件添加XP风格。
  • bigtree_mfc
  • bigtree_mfc
  • 2015年06月01日 10:30
  • 476

建立Office2007风格的MFC单文档应用程序

VS2008 SP1及之后的版本集成了BCGControlBar(MFC界面库)的部分功能,我们可以利用它建立具有Office2007风格的MFC应用程序:在MFC应用程序建立向导——应用程序类型——...
  • sdupzy
  • sdupzy
  • 2015年11月21日 17:58
  • 1032

设置listctrl 风格及扩展风格

以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn...
  • highyyy
  • highyyy
  • 2010年10月29日 08:46
  • 5235

MFC(窗口,菜单栏,状态等的风格,孙鑫C++第九讲笔记整理)

1.修改外观和图标可以在MainFrm中进行,而修改背景和光标只能在View中进行。为什么?因为view的显示挡在了MainFrame的前面。  a.在MainFrame中      PreCre...
  • u012377333
  • u012377333
  • 2014年11月04日 20:02
  • 1643

让MFC程序具有XP风格的按钮及界面

VC++6.0编译生成的MFC程序没有XP风格的界面,显得不是太美观,下面,我们可以采取两种方法来让其显示XP风格的界面。   第一种方法比较简单,只需要一个小小的文件就可以。但是有一个缺点,就是这个...
  • zjccsg
  • zjccsg
  • 2016年07月16日 19:57
  • 539
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在mfc编程中创建web风格的图形用户界面(五)
举报原因:
原因补充:

(最多只允许输入30个字)