现在的位置: 首页 > 综合 > 正文

CComboBox使用SetWindowText()无效的解决办法

2018年07月25日 ⁄ 综合 ⁄ 共 511字 ⁄ 字号 评论关闭

1.在Resource.h中添加自定义消息

#define WM_COMBOBOX_TEXT_CHANGED WM_USER + 100

2.在test.h中声明消息处理函数

afx_msg LRESULT OnComboBoxTextChanged(WPARAM wParam, LPARAM lParam);

3.在test.cpp中添加消息映射处理

ON_MESSAGE(WM_COMBOBOX_TEXT_CHANGED, &CFileDownload::OnComboBoxTextChanged)

4.在test.cpp中实现自定义消息处理

LRESULT CFileDownload::OnComboBoxTextChanged(WPARAM wParam, LPARAM lParam)
{
m_cbTest.SetWindowText("test");
return 0;
}

5.在CBN_SELCHANGE的消息映射函数中,发送消息WM_COMBOBOX_TEXT_CHANGED

void CFileDownload::OnCbnSelchangeComboTest()
{
PostMessage(WM_COMBOBOX_TEXT_CHANGED, 0, 0);
}

抱歉!评论已关闭.