如何调用另一个窗体的事件

FlySkyFree 2007-09-19 04:49:53
Form1是用TForm1 * form1;
form1 = new TForm1(Application);
form1- >ShowModal() ;的方式打开的,Form2是在Form1里用同样的方式打开的
现在想在Form2里调用Form1里的事件,比如一个按钮点击事件可不行,是这样调用的
TForm1 * form1;
form1 = new TForm1(Application);
form1- >Button1Click(Sender) ;
Form1 和Form2都是在Available forms里

是不是因为form1现在就是打开的,不能再用TForm1 * form1;
form1 = new TForm1(Application);这样的方式调用,是不是不需要new了,那有什么方法呢?
...全文
111 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
enuxlee 2007-09-24
  • 打赏
  • 举报
回复
咳咳........
假设form1的头文件为1.hpp,代码文件为1.cpp,
假设form2的头文件为2.cpp,代码文件为2.cpp,

在1.cpp中添加#include "2.cpp"
在2.cpp中添加#include "1.cpp"

则可以在form1中随意调用form2中的public下的事件
可以在form2中随意调用form1中的public下的事件

调用方法:
假设在form1中调用form2的abc事件,
则在form1的相应函数中添加
form2->abc;



over
简单明了............
lihongbin33 2007-09-23
  • 打赏
  • 举报
回复
首先在Form2里包含Form1的头文件,然后Form1- >Button1Click(Sender) ;

就可以了
FlySkyFree 2007-09-22
  • 打赏
  • 举报
回复
zwh202342:FindWindow怎么用的,能详细说说吗?就是两个窗体都打开,我怎么在另一个窗体里,调用这个窗体的事件?
Waiting4you 2007-09-22
  • 打赏
  • 举报
回复
如果Form1 和Form2都是在Available forms里 ,那就不需要new了,直接

Form1->Button1Click(Sender) ;

就可以了
zwh202342 2007-09-21
  • 打赏
  • 举报
回复
如果兩個窗體都在打開的情況下可以FindWindow找到句柄后轉化一下就可以調用裏面的函數了
FlySkyFree 2007-09-19
  • 打赏
  • 举报
回复
里面用的好多这个窗体的状态,比如TScrollBar的Position,等,用到的窗体里的东西太多,不好写成public函数
i_love_pc 2007-09-19
  • 打赏
  • 举报
回复
可以写成public函数调用

13,870

社区成员

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

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