频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

用VC实现HTML中模式对话框的显示

来源:论坛 作者: 出处:巧巧读书 2006-09-20 进入讨论组
上一页 1 2 
向对话框中传递参数

  在有些时候我们不仅仅要显示一个HTML资源,还要从应用程序中向关于对话框传递一些参数进去(比如:产品序列号,许可号等),参数类型可以是string类型,也可以是variant类型,比如我们要在对话框显示产品序列号、用户名称、公司名称和产品的版本号,可以在程序添加如下代码:

void CHDDemoApp::OnDemoParam1()
{
 CMshtmlDialog dlg(IDR_ABOUT1_HTM, AfxGetMainWnd());
 CString str = m_strProductID //产品序列号
 + ";"+ m_strUserName //用户许可号
  + ";" + m_strCompanyName //公司名称
  + ";" + m_strAppVersion;//版本号
  dlg.SetParam(str);
  dlg.DoModal( );
}

  在实际显示的HTML主页中我们还必须包含一些javascriptvbscript函数。在HTML中传给CMshtmlDialog的任何参数都可以作为window对象的dialogArguments属性,以javascript为例:

function getParameters( )
{
 var args = new Array();
 args = window.dialogArguments.split(";"); //Now display in the document
 Productid.innerText = args[0];
 UserName.innerText = args[1];
 CompanyName.innerText = args[2];
 AppVersion.innerText = args[3];
}

  从对话框中获取返回值

  我们已经发现通过结合使用Javascript和C++可以获得更多的信息,那么如何从对话框中传递参数作为我们获得的返回值的结果并传回C++程序呢?作为例子我们还结合Javascript和C++,在利用onunload的处理句柄关闭HTML窗口程序段中我们给出如下的代码:

function window_onclose( )
{
 window.returnValue = UserName.value + ";" + CompanyName.value;
}

  只需通过设置返回值的属性就可将该值传回C++程序中。返回值可以是任意的variant变量,然后在C++代码中通过调用函数GetReturnString 或GetReturnVariant来处理这个返回值,如:

dlg.DoModal( ); //Display the dialog
CString str = dlg.GetReturnString( );
//Now handle the return value in whatever way

  设置对话框的尺寸

  在以上的例子中,对话框尺寸的设置是通过在HTML中使用下列标签来设置的:

  〈HTML style="width: 25em; height: 30em〉

  在ChtmlDialog中提供了一个设置对话框尺寸的简单的方法,这种方法无须在HTML的标签中指定尺寸的大小,而只需调用函数SetDialogSize(int nWidth, int nHeight)即可;还有一个函数也可以用来设置尺寸的大小,也就是SetOptions(LPCTSTR lpszOptions),字符串lpszOptions的格式是“dialogWidth: xxx; dialogHeight: xxx”,关于更详细使用方法请参看Internet Client SDK函数ShowModalDialog的描述。巧 巧 读 书:http://www.qqread.com/vc/d210127.html进入讨论组讨论。
上一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章