MFC子窗口调用父窗口控件问题,望大神解救~~~

MFC子窗口调用父窗口控件问题,望大神解救~~~,第1张

窗口保存父窗口的指针,子窗口需要包含父窗口所在文件的头文件,而父窗口需要调用子窗口,父窗口需要包含子窗口的指针,这种互相包含一般会出错。而通过 CWnd::GetParent() 一般只能获得父窗口,很难得到里面的控件指针,因此,楼上方法不可靠。

可以在子窗口定义一个控件指针,这个指针指向父窗口的那个控件,这样就可以 *** 作了。

在web开发中,经常会用到iframe,难免会碰到需要在父窗口中使用iframe中的元素、或者在iframe框架中使用父窗口的元素

在父窗口中获取iframe中的元素

格式:$("#iframe的ID")contents()find("#iframe中的控件ID")click();

实例:$("#ifm")contents()find("#btnOk")click();

在iframe中获取父窗口的元素

格式:$('#父窗口中的元素ID', parentdocument)click();

实例:$('#btnOk', parentdocument)click();

您可能感兴趣的文章:

JQUERY 获取IFrame中对象及获取其父窗口中对象示例

Jquery中获取iframe的代码

jquery获取iframe中的dom对象(两种方法)

用GetParent()获取父窗口指针。

设你主对话框类为CMyDialog。

CMyDialog pDlg = (CMyDialog )GetParent()->GetParent()。

pDlg->函数或变量。

第一个GetParent()获取的是tab control指针,再通过tab control获取主对话框指针。

然后就可以对对话框 *** 作在子窗体中调用父窗体中函数。

比如父窗体是form1,子窗体form2

子窗体中:

From faFrom;

public Form2(From f)

{ faForm = f;

InitializeComponent(); }

父窗体

private void button1_Click(object sender, EventArgs e)

{

Form2 f = new Form2();

fgetForm(this);

fshow();

}

之后就可以通过对faForm *** 作,从而控制父窗体。

private SystemWindowsFormsMdiClient m_MdiClient;public Form1(){//// Windows 窗体设计器支持所必需的//InitializeComponent();//// TODO: 在 InitializeComponent 调用后添加任何构造函数代码//int iCnt=thisControlsCount;for(int i=0;i<iCnt;i++){if(thisControls[i]GetType()ToString()==SystemWindowsFormsMdiClient){thism_MdiClient=(SystemWindowsFormsMdiClient)thisControls[i];break;}}thism_MdiClientBackColor=SystemDrawingColorBlue;}具体的应用中,可以参考上面的代码把背景修改为其他的颜色、用平铺、拉伸等,就象通过代码修改非MDI窗口的背景一样。另外,具体应用时,可能要考虑把这些东西放置到Paint或erasebkground等事件。c# 20 给MDI主窗口添加背景最简单的办法,4句代码搞定一、将MDI主窗口的IsMdiContainer设为 False,将背景放到资源文件中,资源名为BackgroundImage二、在MDI主窗口的构造函数中InitializeComponent();之后加下面4行代码MdiClient m = new MdiClient();thisControlsAdd( m );mDock = DockStyleFill;mBackgroundImage = PropertiesResourcesBackgroundImage ;using System;using SystemComponentModel;using SystemCollections;using SystemDrawing;using SystemDrawingImaging;using SystemDrawingDrawing2D;namespace myBackgroundImage{/// <summary/// fat background MDI form (fbgMDIform),可定制Mdi主窗体背景。/// </summary

原因是在本地直接用浏览器打开地址栏是file:///的页面

扩展资料:

问题中错误信息的意思是:

未捕获的安全错误:阻止了一个域为null的frame页面访问另一个域为null的页面。

此问题的解决办法是:

可以试着在本地架设服务器来调试,建议工具:nginx。

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

JavaScript的基本特点:

1、是一种解释性脚本语言(代码不进行预编译)

2、主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。

3、可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。

4、跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)

参考资料:

javascript

qDebug() << this->parentWidget()->x();

你调用parent()得到的是QObject对象,当然没法拿到坐标。

获取一个类的变量,在该类被实例化后,只要获取该类的对象或对象指针后通过对象或对象指针即可访问,这是一般的方法,根本就不用管他是父类还是子类。你想访问父类中定义了一个变量 com变量,那么只要获取父类对象即可。GetParent函数是获取该窗口的父窗口对象的窗口类指针,而不是获取父类对象窗口指针。

这个,需要用客户端的 JS 脚本实现

<script type="text/javascript">

windowalert(windowparentlocationhref);

</script>

以上就是关于MFC子窗口调用父窗口控件问题,望大神解救~~~全部的内容,包括:MFC子窗口调用父窗口控件问题,望大神解救~~~、如何通过JQuery实现子窗口 *** 作父窗口、var diag = new Dialog(); diag.show(); d出一个子窗体,如何在子窗体中调用父窗体的函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9328838.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存