MFC Combobox SetWindowText 问题 设置DropDown风格的Combobox

下拉框内容是1分钟;2分钟;3分钟我想设置下拉框显示的内容,如果选择了1分钟,就显示1,选2分钟显示2(去掉单位)在Selchange和Selendok里面用SetWin... 下拉框内容是1分钟;2分钟;3分钟
我想设置下拉框显示的内容,如果选择了1分钟,就显示1,选2分钟显示2(去掉单位)
在Selchange和Selendok里面用SetWindowText都不好用,怎么解决这个问题呢
展开
 我来答
veket的小号
2014-02-28 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:3985万
展开全部

vc6下测试OK方法如下

给 combobox控件 关联 CComboBox类变量 m_combo 添加 CBN_SELCHANGE 消息响应函数

void CMfcdlgDlg::OnSelchangeCombo1() 

{

    bFlag = TRUE;

}

给对话框 添加 BOOL型成员变量 bFlag 对话框构造函数初始化 为FALSE

给 对话框添加WM_CTLCOLOREDIT 消息响应函数 在他的开头添加if语句判断bFlag

HBRUSH CMfcdlgDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 

{

/************************/

if(bFlag)

{

CString s;

//s.Format(_T("%d"), m_combo.GetCurSel()+1);

m_combo.GetLBText(m_combo.GetCurSel(), s);

s = s.Left(1);

m_combo.SetWindowText(s);

bFlag = FALSE;

}/************************/

HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here

// TODO: Return a different brush if the default is not desired

return hbr;

}


更多追问追答
追问
还有一个问题,也是Combobox的。Combobox里面,3行,001;002;003,可以修改的(DropDown),我想在删除的时候,下拉框里面的001、002、003是保留的,就是说,下拉框里面至少要有表示序号的三个字符,怎么做到呢?
谢谢
追答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式