如何通过sendmessage控制下拉框
很简单的一个问题,界面有一个下拉框,选择某项后,会进行某些操作。这部分是在相应的处理函数OnSelchangeComboDevice中写的
消息映射如下:
ON_CBN_SELCHANGE(IDC_COMBO_DEVICE, OnSelchangeComboDevice)
我现在想通过sendmessage控制下拉框,选择某一项后,也要执行相应的操作,即运行函数OnSelchangeComboDevice,要怎么发送消息?
GetDlgItem(IDC_COMBO_DEVICE)->SendMessage(CB_SETCURSEL,0,1); 这样发送消息只能是下拉框选中第一个,但是没有运行OnSelchangeComboDevice里的内容
[解决办法]
- C/C++ code
CComboBox* pCombo = (CComboBox*)GetDlgItem(IDC_COMBO1); ASSERT(pCombo && pCombo->GetSafeHwnd()); UINT nID = pCombo->GetDlgCtrlID(); pCombo->SendMessage(CB_SETCURSEL, 1, 0); PostMessage(WM_COMMAND, MAKEWPARAM(nID, CBN_SELCHANGE), (LPARAM)pCombo->GetSafeHwnd());