Events 在c+中手动调用按钮单击事件+;建设者 使用C++ Builder Borland(BCB6).
我希望手动调用按钮单击事件。我做到了:Events 在c+中手动调用按钮单击事件+;建设者 使用C++ Builder Borland(BCB6).,events,button,invoke,c++builder-6,Events,Button,Invoke,C++builder 6,我希望手动调用按钮单击事件。我做到了: FMap->bbDoneInClick(NULL); 虽然Done按钮位于FMap表单上,但出现了一些问题 我是否需要使用不同的参数调用bbDoneInClick,而不是使用NULL 使用Form1或bbDone本身,而不是NULL 它取决于事件代码本身如何使用Sender参数 此外,仅当表单已创建时,才可以安全地调用事件处理程序 如果它不访问画布,您甚至可以在TForm1::TForm1构造函数中使用它 如果需要,您需要注意在OnShow或On
FMap->bbDoneInClick(NULL);
虽然Done
按钮位于FMap
表单上,但出现了一些问题
我是否需要使用不同的参数调用
bbDoneInClick
,而不是使用NULL
使用Form1
或bbDone
本身,而不是NULL
- 它取决于事件代码本身如何使用
参数Sender
- 此外,仅当表单已创建时,才可以安全地调用事件处理程序
- 如果它不访问画布,您甚至可以在
构造函数中使用它TForm1::TForm1
- 如果需要,您需要注意在
或OnShow
OnActivate
- 避免VCL问题或应用程序崩溃
- 对于普通处理程序,使用主窗口就足够了。。。(我使用
而不是this
)NULL
- 如果您对多个组件使用单个偶数处理程序,那么偶数通常是通过
参数决定操作或目标,因此在这种情况下,您需要将指针传递到组件本身Sender
force
更改调用
。。。invoke意味着“出了问题”——你需要更具体一些。到底出了什么问题?有错误吗?例外?意外的行为?bbDoneInClick()
实际上做什么?在任何情况下,t按钮
都有一个公共的Click()
方法,如果指定了该方法,该方法将触发OnClick
事件处理程序。您应该调用它,而不是直接单击处理程序:FMap->bbDoneIn->Click()代码>(假设按钮名为bbDoneIn
,否则替换为正确的名称)。