MFC中弹出子窗口,然后再子窗口中picturemfc list controll控件中显示父窗口中已经存储的图像,最openCV类型的。

页面导航:
→ 正文内容 子父窗口互相操作
JS子父窗口互相操作取值赋值的方法介绍
JS子父窗口互相操作取值赋值的方法介绍,需要的朋友可以参考一下
$("#父窗口元素ID",window.parent.document);
对应javascript版本为window.parent.document.getElementByIdx_x("父窗口元素ID");
取父窗口的元素方法:$(selector, window.parent.document);那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent.parent.document);
类似的,取其它窗口的方法大同小异$(selector, window.top.document);$(selector, window.opener.document);$(selector, window.top.frames[0].document);
--------------------------------------------------------------------------------------------------
子窗口创建及父窗口与子窗口之间通信:
1、Javascript弹出子窗口
可以通过多种方式实现,下面介绍几种方法
(1) 通过window对象的open()方法,open()方法将会产生一个新的window窗口对象
其用法为:window.open(URL,windowName,parameters);
URL: 描述要打开的窗口的URL地址,如何为空则不打开任何网页;
windowName:描述被打开的窗口的民称,可以使用'_top'、'_blank'等内建名称,这里的名称跟&a href="..." target="..."&里的target属性是一样的。
parameters:描述被打开的窗口的参数值,或者说是样貌,其包括窗口的各个属性值,及要传入的参数值。
打开一个 400 x 100 的干净的窗口:open('','_blank','width=400,height=100,menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes')
也可以这样写: var newWindow = open('','_blank');
参数说明如下:
top=# 窗口顶部离开屏幕顶部的像素数left=# 窗口左端离开屏幕左端的像素数width=# 窗口的宽度height=# 窗口的高度menubar=... 窗口有没有菜单,取值yes或notoolbar=... 窗口有没有工具条,取值yes或nolocation=... 窗口有没有地址栏,取值yes或nodirectories=... 窗口有没有连接区,取值yes或noscrollbars=... 窗口有没有滚动条,取值yes或nostatus=... 窗口有没有状态栏,取值yes或noresizable=... 窗口给不给调整大小,取值yes或no
(2) 在javascript中除了通过open()方法建立window对象实现弹出窗口外,还可以通过建立对话框的方式弹出窗口。如:alert(""); //弹出信息提示对话框confirm(""); //弹出信息确认对话框prompt(""); //具有交互性质的对话框
但是,上述实现的弹出窗口具有的功能较为单一,只能完成较为简单的功能。对于需要在对话框中显示多个数据信息,
甚至是HTML控件就无能为力了。
(3) 使用模态对话框实现复杂的对话框需求在javascript的内建方法中还有一类方法可以实现通过对话框显示HTML内容,也就是说可以通过创建对话框的方式来完成创建窗口对象所能完成的功能。包括创建模态对话框和非模态对话框两种。
实现方法为:
//创建模态你对话框window.showModalDialog(sURL,vArguments,sFeatures)
//创建非模态对话框window.showModelessDialog(sURL,vArguments,sFeatures)
其区别在于:
用showModelessDialog()打开窗口时,不必用window.close()去关闭它,当以非模态方式[IE5]打开时,打开对话框
的窗口仍可以进行其他的操作,即对话框不总是最上面的焦点,当打开它的窗口URL改变时,它自动关闭。而模态[IE4]方式的对话框始终有焦点(焦点不可移走,直到它关闭)。模态对话框和打开它的窗口相联系,因此我们打开另外的窗口时,他们的链接关系依然保存,并且隐藏在活动窗口的下面。 showModeDialog()则不然。
参数说明:
sURL:必选参数,类型:字符串。
用来指定对话框要显示的文档的URL。
vArguments:可选参数,类型:变体。
用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。
sFeatures:选参数,类型:字符串。
用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。
dialogHeight:对话框高度
不小于100px,IE4中dialogHeight和dialogWidth 默认的单位是em,而IE5中是px,为方便其见,在定义modal方式的对话框时,用px做单位。
dialogWidth: 对话框宽度。
dialogLeft: 距离桌面左的距离。
dialogTop: 离桌面上的距离。
center: 窗口是否居中
默认yes,但仍可以指定高度和宽度,取值范围{yes | no | 1 | 0 }。
help: 是否显示帮助按钮
默认yes,取值范围 {yes | no | 1 | 0 }。
resizable: 是否可被改变大小。
默认no,取值范围 {yes | no | 1 | 0 } [IE5+]。
status: 是否显示状态栏。
默认为yes[ Modeless]或no[Modal],
取值范围{yes | no | 1 | 0 } [IE5+]。
scroll:指明对话框是否显示滚动条。
默认为yes,取值范围{ yes | no | 1 | 0 | on | off }。
还有几个属性是用在HTA中的,在一般的网页中一般不使用。
dialogHide:在打印或者打印预览时对话框是否隐藏。
默认为no,取值范围{ yes | no | 1 | 0 | on | off }。
edge:指明对话框的边框样式。
默认为raised,取值范围{ sunken | raised }。
unadorned:默认为no,取值范围{ yes | no | 1 | 0 | on | off }。
传入参数:
要想对话框传递参数,是通过vArguments来进行传递的。类型不限制,对于字符串类型,最大为4096个字符。也可以传递对象
var newWin=window.showModalDialog(url,window,'dialogHeight:500px, dialogLeft:100px, dialogTop:100px,
dialogWidth:300px, status:0, edge:sunken');
newWin.open();
与使用window.open()方法创建窗口相比,模态方法创建窗口的区别在于有模态方法创建的窗口后将不能操作父窗口.
2、子窗口与父窗口间通信
(1) 使用window.open()创建的窗口与父窗口通信可以在子窗口页面中通过window.opener来获取父窗口对象,获取之后子窗口便可以对父窗口执行刷新,传值等操作。如:window.opener.location.reload(); //子窗口刷新父窗口window.opener.location.href //获取父窗口hrefwindow.opener.locaiton.pathname //获取父窗口路径名
//刷新父页面window.location.href=window.location. //重新定位父页面window.location.
(2) 模态窗口与父窗口通信通过使用showModelDialog(),及showModelessDialog()方法创建的子窗口想与父窗口通信时,不能通过window.opener
来获取父窗口对象。要实现通信,必须在创建模态子窗口时向子窗口传入父窗口对象。
实现方式为:
在父窗口中:
var newWin=window.showModelDialog(url,window,'');newWin.open();
此时参数window即是父窗口对象
在子窗口中:
需首先获取父窗口对象,然后才能使用父窗口对象。由于父窗口对象是在创建子窗口时通过传入参数的方式传入的,因此,在子窗口中也只能通过获取窗口参数的方式获取父窗口对象。获取方式如下:
var parent=widnow.dialogArguments;变量parent便是父窗口对象。
//通过子窗口提交父窗口中的表单:form1,提交后执行查询操作var parent=window.dialogAparent.document.form1.action="QueryInfor.jsp";parent.submit();
//刷新父页面var parent=window.dialogAparent.location.reload();
//从子窗口传值到父窗口要实现在模态子窗口中传值到父窗口,需要使用window.returnValue完成
实现方法如下:
在子窗口中:
//获取父窗口某字段值,对该值加一后返回父窗口var parent=window.dialogAvar x=parent.docuement.getElementById("age").x=x+1;
//传回x值window.returnValue=x;
在父窗口中:
//获取来自子窗口的值var newWin=window.showModelDialog(url,window,'');if(newWin!=null)document.getElementByIdx_x("age").value=newW
//在子窗口中设置父窗口的值在子窗口中向父窗口中传入值似乎没有直接设置父窗口中的值来得明了。直接设置父窗口中元素的值显得要更灵活一些,不过具体使用哪种方法要根据实际情况和已有的实现方式而定,因为如果使用了不切实际的方法不仅降低开发效率,也降低了执行效率,往往也会造成不优雅的实现方式和代码风格。
子窗口设置父窗口的值使用方法如下:
子窗口中:
var parent=window.dialogAvar x=parent.document.getElementByIdx_x("age").x=x+1;//设置父窗口中age属性值parent.document.getElementByIdx_x("age").value=x;
以上是我在项目中使用javascript解决子窗口问题时,收集及积累的一些方法和资料。我是使用建立模态窗口的方式来实现的(这主要与项目本身有关),不过其实不论是使用window.open()还是使用window.showModelDialog()进行传参等操作时虽然在实现方法上有很大的差别,初次接触会觉得有点乱,但只要理清子窗口与父窗口之间的关系和角色之后,就很好理解了。
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910第10章 MFC中Windows标准控件的应用_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
喜欢此文档的还喜欢
第10章 MFC中Windows标准控件的应用
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:119.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢c#中父窗口和子窗口之间实现控件互操作_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
c#中父窗口和子窗口之间实现控件互操作
c​#​中​父​窗​口​和​子​窗​口​之​间​实​现​控​件​互​操​作
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢ShowPicDemo 实现在MFC的picture control控件中显示JPG图像 Special Effects 图形 处理 195万源代码下载-
&文件名称: ShowPicDemo& & [
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 564 KB
&&上传时间:
&&下载次数: 0
&&提 供 者:
&详细说明:实现在MFC的picture control控件中显示JPG图像-Implement controls in the MFC picture control to display JPG images
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&ShowPicDemo&&...........\gdiplus.lib&&...........\IMAGEHLP.LIB&&...........\LPG.dll&&...........\LPG.h&&...........\LPG.lib&&...........\ReadMe.txt&&...........\Release&&...........\.......\1.jpg&&...........\.......\2.jpg&&...........\.......\3.jpg&&...........\.......\LPG.dll&&...........\.......\ShowPicDemo.exe&&...........\res&&...........\resource.h&&...........\...\ShowPicDemo.ico&&...........\...\ShowPicDemo.rc2&&...........\ShowPicDemo.aps&&...........\ShowPicDemo.cpp&&...........\ShowPicDemo.h&&...........\ShowPicDemo.rc&&...........\ShowPicDemo.sln&&...........\ShowPicDemo.suo&&...........\ShowPicDemo.vcproj&&...........\ShowPicDemo.vcxproj&&...........\ShowPicDemo.vcxproj.filters&&...........\ShowPicDemo.vcxproj.user&&...........\ShowPicDemoDlg.cpp&&...........\ShowPicDemoDlg.h&&...........\stdafx.cpp&&...........\stdafx.h&&...........\UpgradeLog.XML
&输入关键字,在本站195万海量源码库中尽情搜索:mfc子窗口DateTimePicker控件无法正常显示
DateTimePicker在Window7下只显示了一个框框,并且不接受焦点,在WindowsXP下可以显示当前时间,同样不接受焦点,无法选择日期,请问怎么解决?子窗口为DialogEx。SDI。
Hi softerbabe,
我无法模拟到您这个现象。请你按我提供的链接中的方法尝试下,看在使用Date and Time Picker
控件时是否还存在这个问题。
按这个链接做好后,在相应的相应事件里加入以下代码:
&CDateTimeCtrl m_
&SYSTEMTIME tem_ST ;
&GetLocalTime(&tem_ST);
&m_datetime.SetFormat(L&yyyy-MM-dd hh:mm:ss&);//这里的m_datetime是Date
and Time Picker 控件的变量名,您可以自己定义。
&m_datetime.SetTime(&tem_ST);
&UpdateData(TRUE);
如果您的问题解决了,请把有用的回答标记为答案!
LucyLucy Liu [MSFT]
MSDN Community Support |
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
已标记为答案
VS2010,Windows7,初始化的时候可以正常初始化,但是只要一改变窗口大小,控件就会变得无效,变得只能显示控件左上角1/4,感觉好像是应该在onsize或者onpaint里边做点什么工作,期待高人的指点。。。
Hi softerbabe,
我无法模拟到您这个现象。请你按我提供的链接中的方法尝试下,看在使用Date and Time Picker
控件时是否还存在这个问题。
按这个链接做好后,在相应的相应事件里加入以下代码:
&CDateTimeCtrl m_
&SYSTEMTIME tem_ST ;
&GetLocalTime(&tem_ST);
&m_datetime.SetFormat(L&yyyy-MM-dd hh:mm:ss&);//这里的m_datetime是Date
and Time Picker 控件的变量名,您可以自己定义。
&m_datetime.SetTime(&tem_ST);
&UpdateData(TRUE);
如果您的问题解决了,请把有用的回答标记为答案!
LucyLucy Liu [MSFT]
MSDN Community Support |
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
已标记为答案
Hi softerbabe,
我先暂时把我最后的回答标记为答案,如果您认为它没有用的话,您可以取消标记为答案!
谢谢您的理解!
LucyLucy Liu [MSFT]
MSDN Community Support |
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Microsoft 正在进行一项网上调查,以了解您对 Msdn 网站的意见。如果您选择参加,我们将会在您离开 Msdn 网站时向您显示该网上调查。是否要参加?
<input type="hidden" id="hdnTrackerText" value="请不要关闭此窗口。谢谢!完成访问时,调查将显示在此处,所以请不要关闭此窗口。" />
其他 Office 网站

我要回帖

更多关于 mfc list control 的文章

 

随机推荐