动态创建的文本框为什么不显示?

cystec 2002-08-20 11:20:33
我想在程序中动态创建一个文本框,先在头文件中定义一个全局变量:
TEdit* txtEdit;

然后在按钮单击事件程序中加入以下语句:
txtEdit=new TEdit(this);
txtEdit->Text="新建文本";

运行后没有报错,但是新建文本框也没有出现,不知是何原因?
我用的是C++ Builder6.0,Win2000。
...全文
150 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yx_elee 2002-08-20
  • 打赏
  • 举报
回复
动态创建的 edit 等控件,一定要指明其 parent,让其知道他是在谁身上,才可以在parent上显示出来的

通常情况下,在当前的form中,或其他容器中创建时,parent 指向 this 就行了
albert 2002-08-20
  • 打赏
  • 举报
回复
if (!txtEdit->HasParent())
txtEdit->Parent = this;
Chimae 2002-08-20
  • 打赏
  • 举报
回复
来晚了!
txtEdit->Parent = Form1 //Parent指定存放txtEdit的容器!可以是Panel、GroupBox等等之类!
Brune 2002-08-20
  • 打赏
  • 举报
回复
txtEdit->Parent=this;
jishiping 2002-08-20
  • 打赏
  • 举报
回复
需要指定Parent属性:
txtEdit=new TEdit(this);
txtEdit->Parent = this; //这样就显示了
txtEdit->Text="新建文本";
txtEdit->SetBounds(4, 4, 80, 24); //指定位置和大小
kingcaiyao 2002-08-20
  • 打赏
  • 举报
回复
你少了一句,加上:
txtEdit->Parent=this;
Sephil 2002-08-20
  • 打赏
  • 举报
回复
txtEdit=new TEdit(this);
txtEdit->Parent = this; //这样就显示了
txtEdit->Text="新建文本";
txtEdit->Show();//txtEdit->Visible = true;
~~~~~~~~~~~~~~~~
注意 Show() 一下

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧