combobox 过滤字符 在一个组合框里 ,有几行数据,比如这样的三行数据: "星期一 (5)" ," 星期二 (7) " , " 星期三 (2)",当用户选择其中一行时,要把括号中的内容过滤掉再显示到组合框的编辑框中,比如选择“星期二 (7)”这行 ,那么只显示“星期二”到编辑框。那么,这些过滤字符的代码应该写在哪里呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 LRESULT OnUpdateCombo(WPARAM wParam, LPARAM lParam);#define MSG_UPDATECOMBO WM_USER + 0x11ON_CBN_SELENDOK(IDC_COMBO1, OnSelendokCombo1)ON_MESSAGE(MSG_UPDATECOMBO, OnUpdateCombo)// CBN_SELENDOKvoid CXXXDlg::OnSelendokCombo1() { // TODO: Add your control notification handler code here int nIndex = m_combo.GetCurSel(); if(CB_ERR != nIndex) { CString str; m_combo.GetLBText(nIndex, str); int nFlag = str.Find(_T("("), 0); if(-1 != nFlag) str = str.Left(nFlag); str.TrimRight(_T(" ")); TCHAR* buf = new TCHAR[str.GetLength() + 1]; _stprintf(buf, _T("%s"), str); PostMessage(MSG_UPDATECOMBO, 0, (LPARAM)buf); }}LRESULT CXXXDlg::OnUpdateCombo(WPARAM wParam, LPARAM lParam){ LPTSTR pBuf = (LPTSTR)lParam; m_combo.SetWindowText(pBuf); delete[] pBuf; pBuf = NULL; return 0;} 为什么m_combo.SetWindowText(str)这函数直接写在OnSelendokCombo1()里面就不起作用的呢 ,一定要postmessage到另外的函数执行? SetWindowText后要UpdateData(FALSE)再次初始化对话框。不然就PostMessage通知更新。 av_probe_input_buffer//ffmpeg函数返回错误码Error occurred:87参数不正确是什么原因呢 [请问]关于对话框中的控件是如何管理的 bcp导入数据的问题。在线.... 关于WinPcap开发文档中的pcap_live_dump例子的问题?? 我如何知道光标是否在Edit Box框里??很着急,在线等待!!! 通过button启动dos程序 CListView 中的显示问题,求教&郁闷中!!! 句柄和指针的区别和联系是什么? 关于免费手机短信---网易短信王的问题 softsprite回答就给你应得的分,(第二次) 文档中加入控件 CString的奇怪运算
ON_MESSAGE(MSG_UPDATECOMBO, OnUpdateCombo)// CBN_SELENDOK
void CXXXDlg::OnSelendokCombo1()
{
// TODO: Add your control notification handler code here
int nIndex = m_combo.GetCurSel();
if(CB_ERR != nIndex)
{
CString str;
m_combo.GetLBText(nIndex, str);
int nFlag = str.Find(_T("("), 0);
if(-1 != nFlag)
str = str.Left(nFlag);
str.TrimRight(_T(" "));
TCHAR* buf = new TCHAR[str.GetLength() + 1];
_stprintf(buf, _T("%s"), str);
PostMessage(MSG_UPDATECOMBO, 0, (LPARAM)buf);
}
}LRESULT CXXXDlg::OnUpdateCombo(WPARAM wParam, LPARAM lParam)
{
LPTSTR pBuf = (LPTSTR)lParam;
m_combo.SetWindowText(pBuf);
delete[] pBuf;
pBuf = NULL;
return 0;
}
不然就PostMessage通知更新。