给一个Dropdown风格的ComboBox控件发送了下面三条消息:
::SendMessage(m_hwndCombo, CB_GETLBTEXT, (WPARAM)iCurSel, (LPARAM)(LPTSTR)m_szInput);
::SendMessage(m_hwndCombo, CB_DELETESTRING, (WPARAM)iCurSel, 0);
::SendMessage(m_hwndCombo, CB_INSERTSTRING, (WPARAM)0, (LPARAM)(LPCTSTR)m_szInput);
我的目的是每次从列表中选择一项后,如果当前总项数大于1,把当前选中项和第一项对调,即总保持最近
选择的项在列表的最上面。这样可以运行得很好,但是有一个问题,每次操作后会把Edit框的文本清空,我用
SetWindowText也不能把最近选择的文本在Edit上显示。请问,是什么问题?
::SendMessage(m_hwndCombo, CB_GETLBTEXT, (WPARAM)iCurSel, (LPARAM)(LPTSTR)m_szInput);
::SendMessage(m_hwndCombo, CB_DELETESTRING, (WPARAM)iCurSel, 0);
::SendMessage(m_hwndCombo, CB_INSERTSTRING, (WPARAM)0, (LPARAM)(LPCTSTR)m_szInput);
我的目的是每次从列表中选择一项后,如果当前总项数大于1,把当前选中项和第一项对调,即总保持最近
选择的项在列表的最上面。这样可以运行得很好,但是有一个问题,每次操作后会把Edit框的文本清空,我用
SetWindowText也不能把最近选择的文本在Edit上显示。请问,是什么问题?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货