社区
C++ Builder
帖子详情
=====BCB5.0如何控制程序的流程呀?=====
Mr月亮
2003-06-12 11:09:28
想请教一下用BCB5.0如何可以做到自己控制程序的流程而不用总是去填写控件的事件
响应函数。就比如:
if (Button1被click)
{
ShowMessage("hi");
}
而不用去填写Button1Click()这个事件响应函数
如果可以的话还请告知如何操作,所添加的代码会放在哪里。
(我记得以前用VB的时候就有一个叫做Module的冬冬是用来做这个的)
...全文
157
18
打赏
收藏
=====BCB5.0如何控制程序的流程呀?=====
想请教一下用BCB5.0如何可以做到自己控制程序的流程而不用总是去填写控件的事件 响应函数。就比如: if (Button1被click) { ShowMessage("hi"); } 而不用去填写Button1Click()这个事件响应函数 如果可以的话还请告知如何操作,所添加的代码会放在哪里。 (我记得以前用VB的时候就有一个叫做Module的冬冬是用来做这个的)
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
seraphmarmot
2003-06-13
打赏
举报
回复
这类自编函数怎么会没有地方存放呢?开玩笑。在C就能完成的功能,在C++里不可能不行。
建一个HPP文件
建一个HPP,里面存放一个类(建议用类,当然你要只放函数也行)
在要调用时,用INCLUDE将你的HPP引入
gfh21cn
2003-06-13
打赏
举报
回复
用事件托管
每个控件都有一个Tag属性
设置好。
然后
void CustomClick(TObject *Sender)//这个函数是自己定义的
{
TButton *t_Button=dynamic_cast<TButton *>(Sender);
if(t_Button)
{
switch(t_Button->Tag)
{
case 0: ShowMessage("...");break;
case 1: .... break;
default: .... break;
}
}
}
在窗体的显示(Show)
{
Button1->OnClick=CustomClick;
Button2->OnClick=CustomClick;
Button3->OnClick=CustomClick;
}
这样便可以集中处理
Mr月亮
2003-06-13
打赏
举报
回复
VC里面使用类向导来直观完成这种工作,BCB应该也有吧,请提点!
zeus0915
2003-06-12
打赏
举报
回复
我想可以这样:
...
bool ClickFlag=false;
...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
...//处理一个消息,随便
ClickFlag=true;
}
...
//在其他消息处理时,可加入你上面的代码
if(ClickFlag)
ShowMessage("hi");
//----------
以前做过类似的处理,有效。
gjgj3368
2003-06-12
打赏
举报
回复
你要理解什么叫可视编程,事件驱动。
OK?
yhz
2003-06-12
打赏
举报
回复
不可能的。
因为在你的程序运行到那个判断语句时,
操作系统返回的消息不一定刚好到达(不早也不迟)。
现在都是消息驱动的。也就是说,
整个程序的各个操作都是由操作系统返回的各种消息引发,
然后程序再根据你的编程,用不同的处理方法来完成的。
你说的那种方法只会在DOS下出现,因为他是单线程的
所以他的消息是循环发送的。这样可以保证你需要的时候可以有效判断。
warton
2003-06-12
打赏
举报
回复
完全不必要这么操作吧
IT-司马青衫
2003-06-12
打赏
举报
回复
不可能的
现在的是消息化编成,不以前的结构化编成
你要控制可以使用ACTION
alenwelkin
2003-06-12
打赏
举报
回复
我不是很明白楼主的意思, 你是要截获消息自己处理吗??还是想在某个函数中像判断checkbox有没有被checked这样来判断一个按钮是否被click呢???
如果是前者那么可以通过三个宏加一个函数来完成:
BeginMessageMap, MessageMap, EndMessageMap,好像是这三个吧, 我这里没装CB, 你可以查查帮助文件.
然后再编写一个消息处理函数即可完成.
如果是后者,那应该不是可能的吧.
因为和checked不同, checked是一种状态,而click是以一个消息的方式传过来的, 一旦click,消息就产生了, 产生了消息就会要处理, 你不处理windows就帮你处理了, 只有系统等消息, 没有消息等系统的. 除非你让整个进程wait, 等待消息被处理了再继续持行.
seraphmarmot
2003-06-12
打赏
举报
回复
说清你具体想做什么?为什么不用事件?
ybluo
2003-06-12
打赏
举报
回复
存放这类自编的函数 需要专门的工具吗?
文件可以自己命名
Mr月亮
2003-06-12
打赏
举报
回复
有道理。
那就是说BCB里面没有专门的工具和另外命名的文件来产生和存放这类自编的函数咯?
yhz
2003-06-12
打赏
举报
回复
要这样的话,你还是新建一个cpp和hpp文件。
自己在里面写一个基类,它你要做的事封装起来,用起来也方便。
以后无论在什么地方用到它,直接#include就可以了。
以后有什么改动,继承它也很好办。
Mr月亮
2003-06-12
打赏
举报
回复
To loking(loking):
有点这个意思了!那么:
我应该把void __fastcall together(String strAct)写在哪里呢?
随便写的话显得比较凌乱,BCB里面应该有专门的工具和另外命名的文件来产生和存放这类自编的函数吧
loking
2003-06-12
打赏
举报
回复
String strAct;
void __fastcall Button1Click(TObject *Sender)
{
strAct="Button1Click";
together(strAct);
}
void __fastcall Button2Click(TObject *Sender)
{
strAct="Button2Click";
together(strAct);
}
void __fastcall together(String strAct)
{
if(strAct=="Button1Click")
{
...
}
else if(strAct=="Button2Click")
{
...
}
}
Mr月亮
2003-06-12
打赏
举报
回复
Sorry,可能我的问题描叙的有问题,我的意思是如何专门建立一个模块来集中控管所有我关心的事件。
zeus0915(蜡人)朋友有点明白我的意思了,谢谢^_^
我现在的问题关键在于:如何来建立这样一个模块。望大家多多提点
ekeen
2003-06-12
打赏
举报
回复
是不是Button1Click()这个事件响应函数里还有其他事件?
zxcdewq
2003-06-12
打赏
举报
回复
不过楼主是想多个事件响应一个函数,重载函数不就行了,
AutoUpgrader Pro v5.0.2 (真正的源码!)
真正的源码! Delphi/C++ Builder组件,能为你开发的软件添加自动升级功能。它包含内建“应用程序更新向导”和内建多语言支持。
Builder中访问远程数据库的另一种途径
Builder中访问远程数据库的另一种途径
使用BCB制作控制面版程序 (转)
使用BCB制作控制面版程序 (转)[@more@]用BCB开发控制面板程序 前不久,Inprise公司(原Borland公司)正式公布了Delphi 5.0版,其开发向导中支持了“控制面板程序(CPL)”框架的生成,利用它...
使用BCB制作控制面版程序
用BCB开发控制面板程序 前不久,Inprise公司(原Borland公司)正式公布了Delphi 5.0版,其开发向导中支持了“控制面板程序(CPL)”框架的生成,利用它可以快速、方便地开发CPL程序。那么是否能在现有的Borland C++ Builder 4.0中开发CPL程序呢? CPL程序是动态链接库(DLL)的一种变形,只不过扩展名为.cpl、入口函数为CPl
rust权威指南 pdf_MATLAB Simulink和Stateflow的控制算法建模指南MAB 5.0 201272页(MAAB)
MAB指南是由一个独立的行业工作组为使用MATLAB®、Simulink®、Stateflow®和Embedded Coder®开发的一套建模指南。该指南是多年工程专业知识和最佳实践的结晶,用于开发、维护和记录生产软件开发中使用的控制算法模型。MAB指南是项目成功和团队合作的重要基础--无论是在内部还是与合作伙伴或分包商合作时。遵守准则是实现的一个关键前提。才能保证输出高质量的模型和代码...
C++ Builder
13,870
社区成员
102,693
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章