社区
C++ Builder
帖子详情
如何访问位于动态创建窗口内的控件?
coonypie
2005-11-12 03:00:35
MainForm动态创建Frame1
Frame动态创建Form1
Form1如何访问位于Frame1上的控件(比如Label)?
直接访问引发AV错误,希望各位不吝赐教。谢谢~
...全文
167
8
打赏
收藏
如何访问位于动态创建窗口内的控件?
MainForm动态创建Frame1 Frame动态创建Form1 Form1如何访问位于Frame1上的控件(比如Label)? 直接访问引发AV错误,希望各位不吝赐教。谢谢~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
coonypie
2005-11-13
打赏
举报
回复
感谢ccrun(老妖)(www.ccrun.com),问题按你的方法得以解决
关键是pFrame = (TFrame1 *)Owner;
即获取Frame1实际产生对象的指针,我用错了方法
再次感谢
------------------------------------------------------
感谢aniven(Compile Fail)
不知道是不是我自己的原因导致没有通过,我会再按你的方式试试
再次感谢
coonypie
2005-11-13
打赏
举报
回复
谢谢rainfall19831109(恩恩)
是这样的,但问题还是没能解决。
继续请教~
编译失败
2005-11-13
打赏
举报
回复
应该是TFrame1 *Frame1=(TFrame1 *)this->Parent;
ccrun.com
2005-11-13
打赏
举报
回复
我看了看你的代码,好象你的Form1和MainForm不是一回事,对吧。
关键是在Form1中,再包含了Frame1的头文件以后,添加一个全局变量,如:
#include "Unit2.h" // 假设是Frame1的头文件
TFram1 *pFrame;
然后在Form1的构造函数中:
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
pFrame = (TFrame1 *)Owner;
}
在Form1的Button3的点击事件中,改变Frame1中的Label1标题:
void __fastcall TForm1::Button3Click(TObject *Sender)
{
pFrame->Label1->Caption = "123";
}
编译失败
2005-11-13
打赏
举报
回复
void Button3Click()
{
TFrame1 *Frame1=this->Parent;
Frame1->Label1->Caption="xxx";
}
你上面的动态创建错了,该是
TFrame1 *pFrame = new TFrame1(this);
TForm1 *pForm = new TForm1(this);
rainfall19831109
2005-11-13
打赏
举报
回复
不要使用局部的指针
把pFrame和pForm指针定义成类的成员变量
coonypie
2005-11-13
打赏
举报
回复
谢谢ccrun(老妖)
采用:
MainForm 上Button1 Click 如下
TFrame *pFrame = new TFrame1(this);
pFrame->parent = MainForm;
pFrame->show();
Frame1显示后,其上的Button2 Click 如下
TForm *pForm = new TForm1(this);
pForm->parent = this;
pForm->show();
Form1显示后,其上Button3 Click 时需改变位于Frame1上的Label1的Caption
请教~
ccrun.com
2005-11-12
打赏
举报
回复
你是如何创建的?
Android 在程序中动态添加 View 布局或
控件
有时我们需要在程序中动态添加布局或
控件
等,下面用程序来展示一下相应的方法:
VC
动态创建
控件
VC
动态创建
控件
2010-12-15 11:09 动态
控件
是指在需要时由Create()创建的
控件
,这与预先在对话框中放置的
控件
是不同的。 一、创建动态
控件
: 为了对照,我们先来看一下静态
控件
的创建。 放置静态
控件
时必须先建立一个容器,一般是对话框,这时我们在对话框编辑
窗口
中,从工具
窗口
中拖出所需
控件
放在对话框中即可,再适当修改
控件
ID
MFC中
动态创建
控件
及添加消息响应的方法实例
动态
控件
是指在需要时由Create()创建的
控件
,这与预先在对话框中放置的
控件
是不同的。 一、创建动态
控件
: 为了对照,我们先来看一下静态
控件
的创建。 放置静态
控件
时必须先建立一个容器,一般是对话框,这时我们在对话框编辑
窗口
中,从工具
窗口
中拖出所需
控件
放在对话框中即可,再适当修改
控件
ID,设置
控件
属性,一个静态
控件
就创建好了,当对话框被显示时,其上的
控件
也会显示。 静态
控件
不需要调用Create()函数来创建。 而创建动态
控件
有很大不同,以下以按钮为例,看一下动态
控件
的创建过程: .
VS2019 MFC
动态创建
Slider Control
控件
CSliderCtrl类成员函数Create应用创建Slider Control
控件
[MFC
动态创建
控件
四]
CSliderCtrl::Create 创建滑块
控件
,并将其附加到CSliderCtrl对象。
MFC
动态创建
控件
及添加消息响应函数
动态
控件
是指在需要时由Create()创建的
控件
也可CreateWindow创建
控件
,这与预先在对话框中放置的
控件
是不同的。 一、创建动态
控件
: 为了对照,我们先来看一下静态
控件
的创建。 放置静态
控件
时必须先建立一个容器,一般是对话框,这时我们在对话框编辑
窗口
中,从工具
窗口
中拖出所需
控件
放在对话框中即可,再适当修改
控件
ID,设置
控件
属性,一个静态
控件
就创建好了,当对话框被显示时,其上的
控件
...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章