读书人

怎么通过sendmessage控制上拉框

发布时间: 2012-10-19 16:53:36 作者: rapoo

如何通过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()); 

读书人网 >VC/MFC

热点推荐