15,978
社区成员




if (msheet.mCameraCtrl.GetSafeHwnd())
{
::PostMessageA(msheet.mCameraCtrl.GetDlgItem(IDC_BUTTON1)->GetSafeHwnd(),WM_LBUTTONDOWN,0,0);
::PostMessageA(msheet.mCameraCtrl.GetDlgItem(IDC_BUTTON1)->GetSafeHwnd(),WM_LBUTTONUP,0,0);
}
我勒个去,这貌似是一种诡异的不靠谱的做法。
通过发消息模拟点击,手段拙劣。
貌似很多人都被MFC消息误导而忘记了C++最原始的东西。
既然你已经拥有了msheet,为何不通过函数调用的方式实现,简单可靠。 if (msheet.mCameraCtrl.GetSafeHwnd())
{
::PostMessageA(msheet.mCameraCtrl.GetDlgItem(IDC_BUTTON1)->GetSafeHwnd(),WM_LBUTTONDOWN,0,0);
::PostMessageA(msheet.mCameraCtrl.GetDlgItem(IDC_BUTTON1)->GetSafeHwnd(),WM_LBUTTONUP,0,0);
}
原因同10楼msheet.mCameraCtrl.OnBnClickedButton1();