一个Dialog上两个Button(IDC_BUTTON1和IDC_BUTTON2)想实现按下Button1时程序触发Button2的BN_CLICKED事件代码如下:
void CTestDlgDlg::OnButton1()
{
// TODO: Add your control notification handler code here
GetDlgItem(IDC_BUTTON1)->SendMessage(WM_COMMAND, MAKELPARAM(IDC_BUTTON2, BN_CLICKED), (LPARAM)(GetDlgItem(IDC_BUTTON2)->GetSafeHwnd()));
}为什么不对呢?试了两天了,给父类发消息也不行啊?百思不得其解!
void CTestDlgDlg::OnButton1()
{
// TODO: Add your control notification handler code here
GetDlgItem(IDC_BUTTON1)->SendMessage(WM_COMMAND, MAKELPARAM(IDC_BUTTON2, BN_CLICKED), (LPARAM)(GetDlgItem(IDC_BUTTON2)->GetSafeHwnd()));
}为什么不对呢?试了两天了,给父类发消息也不行啊?百思不得其解!
解决方案 »
- mfc 中SetWindowText无效
- 一个比较偏门的问题
- 求VC英文版下载,不要创天的
- 打印图标的问题
- 求程序在局域网中互斥运行的方案? 最好有源程序
- 我用classwizard新建一个工程,什么都没有改,运行出错,高分求解
- 请教,我字将我所写的文件插入到工程中后出现了很多错误,我的类中定义的结构体变成了全局变量,请问,怎么解决这个问题
- 请问怎么在定义一个变量的时候给他一个初值?
- 在调试程序时,调试器能列出所有加载的 dll ,并且判断pdb 是否匹配,这个怎么实现?
- vc最好用来做什么软件??驱动程序、游戏????行业软件会不会用vc写呢???
- 请求<<Visual C++ 高级开发范例解析>>下载?
- ATL/WTL中如何进行网络编程?
就行了。对了,为什么不直接调用
SendMessage(WM_COMMAND, MAKELPARAM(IDC_BUTTON2, BN_CLICKED), (LPARAM)(GetDlgItem(IDC_BUTTON2)->GetSafeHwnd()));
或者
this->SendMessage(WM_COMMAND, MAKELPARAM(IDC_BUTTON2, BN_CLICKED), (LPARAM)(GetDlgItem(IDC_BUTTON2)->GetSafeHwnd()));
SendMessage(WM_COMMAND,((WPARAM)BN_CLICKED)<<8|(WPARAM)IDC_BUTTON2,0L);
SendMessage(hButton[3],BM_SETSTATE,1,0);
SendMessage(hButton[3],BM_SETSTATE,0,0);
但好像只是表示给人看的。你可以试着捕捉当单击Button2时,程序获得的消息,看消息的wParam和lParam参数各是什么。然后向父窗口发送这个消息。