首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

combbox 取舍

2012-11-06 
combbox 选择为何OnCbnSelchangeCombo1 事件中每次获取内容都是上一次的值。为什么呢??void CDlg5_CeDian::

combbox 选择
为何OnCbnSelchangeCombo1 事件中每次获取内容都是上一次的值。为什么呢??
void CDlg5_CeDian::OnCbnSelchangeCombo1()
{
// TODO: 在此添加控件通知处理程序代码

CString strCeDian;
((CComboBox*)GetDlgItem(IDC_COMBO1))->GetWindowText(strCeDian);


}

[解决办法]
((CComboBox*)GetDlgItem(IDC_COMBO1))->GetCurSel();//取得当前选择项目的位置,以0开始.
获取当前字符:
((CComboBox*)GetDlgItem(IDC_COMBO1))->GetCurText()(好象是这个函数,你查一下获取当前的字符具体是什么函数)
[解决办法]

C/C++ code
CComboBox::GetCursel();CComboBox::GetLBText();
[解决办法]
void CxxxxDlg::OnSelchangeCombo() 
{
// TODO: Add your control notification handler code here
int sel=m_TestComBo.GetCurSel();
CString str;
m_TestComBo.GetLBText(sel, str);
afxDump << str << "\r\n";
}

[解决办法]
CComboBox::GetLBText()
[解决办法]
GetLBText(cur,buf);
[解决办法]
// OnCbnSelchange得到的是selected前的值
// OnCbnSelected(好像叫这个),是select结束后的值。
[解决办法]
组合框响应选择改变事件有个非常重要的一点是:此消息的触发在组合框文字显示之前
  
 所以在消息响应里获取当前组合框的文本是获取到上次选择的文本,而不是当前选择的。

关联CString变量m_strSpan
  
 ON_CBN_SELCHANGE(IDC_COMBO_symbo, &CDlg_PutOutDataToTXT::OnCbnSelchangeComboSpin)
 
 错误代码
C/C++ code
 void CDlg_PutOutDataToTXT::OnCbnSelchangeComboSpin() {     CString str;     GetDlgItemText(IDC_COMBO_symbo,str); //或者直接用UpDateData都不行的  …… }
[解决办法]
这个必须用GetLBText

热点排行