MFC下拉框问题

pirates_fish 2011-09-02 11:51:41
选中下拉框里面的某个值,及时更新下面的数据。用触发事件CBN_SELCHANGE,达不到预期的效果。点击下拉框的值时还没传入方框中就开始触发,所以得到的值是前一个方框里面的值。要怎么处理才能及时更新?
...全文
195 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
多多指教 2011-09-02
  • 打赏
  • 举报
回复

CComboBox * pXXXXXX = NULL;
pXXXXXX = (CComboBox*)GetDlgItem(IDC_XXXXXXX);
pXXXXXX->GetLBText(pXXXXXX->GetCurSel(),m_YOURNAME);
if (!m_YOURNAME.IsEmpty())
{
//DO SOMETHING
}
bloom 2011-09-02
  • 打赏
  • 举报
回复


void CTestDemo2Dlg::OnCbnSelchangeCombo1()
{
// TODO: Add your control notification handler code here
CComboBox *pCombox = (CComboBox*)GetDlgItem(IDC_COMBO1);

if (pCombox->GetCurSel() == 0)
{
MessageBox("aaaa");
}
else if(pCombox->GetCurSel() == 1)
{
MessageBox("bbbb");
}
else
{
MessageBox("other");
}

}
hnzlk 2011-09-02
  • 打赏
  • 举报
回复
CCombox从单击下拉列表到选定项,依次执行消息.CBN_SETFOUNS->CBN_DROPDOWN->CBN_SELENDOK->CBN_CLOSEUP->CBN_SELCHANGE->CBN_SELENDCANCEL->CBN_KILLFOUNS
Ginie 2011-09-02
  • 打赏
  • 举报
回复
LZ在处理CBN_SELCHANGE事件时必须先获取当前的位置,GetCurSel,然后再做处理,SELCHANGE这个事件应该是可以实现那种LZ要的效果的,多调试下
pirates_fish 2011-09-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chinatcp 的回复:]
CBN_SELENDOK
[/Quote]
一样的效果
科学家 2011-09-02
  • 打赏
  • 举报
回复
1、在SelEndOK下搞
2、n = GetCurSel
3、GetLBText(n...)

哈哈,楼上代码直接抄写修改便可
罗平 2011-09-02
  • 打赏
  • 举报
回复
CBN_SELENDOK
罗平 2011-09-02
  • 打赏
  • 举报
回复

响应SelectOK事件




void CDlg_Test::OnCbnSelendokTbfindf1()
{
CComboBox *pCombo1=(CComboBox *)GetDlgItem(IDC_COMBO1);
int iSelected=pCombo1->GetCurSel();
CString strRet;
pCombo1->GetLBText(iSelected,strRet);
MessageBox(strRet)
}

pirates_fish 2011-09-02
  • 打赏
  • 举报
回复
还是不行

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧