我的项目中有2个按钮:
-Button A
-Button B
有没有办法可以按下按钮A并执行ButtonB的点击。
答案 0 :(得分:4)
从ButtonA单击回调中显式调用ButtonB的回调。
BOOL MyDialog::OnButton_A_Clicked() { ... OnButton_B_Clicked(); }
如this comment中所述,直接调用处理程序可能会导致细微问题,我会从同一评论中提出以下解决方案:
发送按钮单击消息到按钮B。
BOOL MyDialog::OnButton_A_Clicked()
{
...
CWnd *pBtnB = GetDlgItem(IDC_BUTTONB);
ASSERT(pBtnB != NULL); // You can use MFC
pBtnB->SendMessage(BN_CLICKED);
}
答案 1 :(得分:3)
虽然答案已被接受,但我想提供另一种解决方案。
首先,一旦您决定点击ButtonB也会导致点击ButtonA,建议的按钮链接就会中断。
我会将所有点击与基础功能分开,并根据需要调用它:
void MyDialog::Button_A_Action()
{
}
void MyDialog::Button_B_Action()
{
}
void MyDialog::OnButton_A_Clicked()
{
Button_A_Action();
Button_B_Action();
}
void MyDialog::OnButton_B_Clicked()
{
Button_B_Action();
}