vc 组合框
我想在组合框里选择一个选项,然后其代表的内容自动显示到下面的编辑框中,应该如何实现呢上次有人说:在COMBOBOX控件中的SELCHANGED事件通过CCOMBOBOX类...
我想在组合框里选择一个选项,然后其代表的内容自动显示到下面的编辑框中,应该如何实现呢
上次有人说:在COMBOBOX控件中的SELCHANGED事件通过CCOMBOBOX类的GetCurSel获得下标,通过GetLbText获得内容,最后SetDlgItemText显示
谁有时间没花几分钟把代码写下我看看嘛。我试了好多次都不行。
就假设组合框里有三个选项分别是选项1,2,3 他们对应的内容分别是内容1,2,3 在选择选项1的时候下面编辑框的内容显示为内容1
最快最好的答案为最佳答案哈。要求写出组合框内的代码与解释。
谢谢大虾们了
有图看起来是不是要好些..
反正我感觉应该比较简单吧,只是我试了好多次都不行呢
我才接触vc,是只大菜鸟哈
希望能得到高手的指点
把分数提高点,把要求也提高一些吧
请给出详细的步骤。
希望有条件的大虾能亲自编译一下试试。。 展开
上次有人说:在COMBOBOX控件中的SELCHANGED事件通过CCOMBOBOX类的GetCurSel获得下标,通过GetLbText获得内容,最后SetDlgItemText显示
谁有时间没花几分钟把代码写下我看看嘛。我试了好多次都不行。
就假设组合框里有三个选项分别是选项1,2,3 他们对应的内容分别是内容1,2,3 在选择选项1的时候下面编辑框的内容显示为内容1
最快最好的答案为最佳答案哈。要求写出组合框内的代码与解释。
谢谢大虾们了
有图看起来是不是要好些..
反正我感觉应该比较简单吧,只是我试了好多次都不行呢
我才接触vc,是只大菜鸟哈
希望能得到高手的指点
把分数提高点,把要求也提高一些吧
请给出详细的步骤。
希望有条件的大虾能亲自编译一下试试。。 展开
6个回答
展开全部
响应组合框的CBN_SELCHANGE消息,关联控件变量m_ctlPageCombo
void CAnyPageDlg::OnSelchangePageCombo()
{
// TODO: Add your control notification handler code here
CString count;
//获取组合框内选择的字符串
m_ctrlPageCombo.GetLBText(m_ctrlPageCombo.GetCurSel(), count);
GetItemDlg(IDC_EIDT1)->SetWindowText(count);
}
//IDC_EDIT1是编辑框的ID,也可关联CString变量,例如:
CString m_strEdit;
void CAnyPageDlg::OnSelchangePageCombo()
{
// TODO: Add your control notification handler code here
CString count;
m_ctrlPageCombo.GetLBText(m_ctrlPageCombo.GetCurSel(), count);
m_strEdit = count;
UpdateData(FALSE);
}
void CAnyPageDlg::OnSelchangePageCombo()
{
// TODO: Add your control notification handler code here
CString count;
//获取组合框内选择的字符串
m_ctrlPageCombo.GetLBText(m_ctrlPageCombo.GetCurSel(), count);
GetItemDlg(IDC_EIDT1)->SetWindowText(count);
}
//IDC_EDIT1是编辑框的ID,也可关联CString变量,例如:
CString m_strEdit;
void CAnyPageDlg::OnSelchangePageCombo()
{
// TODO: Add your control notification handler code here
CString count;
m_ctrlPageCombo.GetLBText(m_ctrlPageCombo.GetCurSel(), count);
m_strEdit = count;
UpdateData(FALSE);
}
展开全部
设组合框ID为IDC_COMBO1,编辑框ID为IDC_EDIT1.
重载IDC_COMBO1的CBN_SELENDOK响应函数:
void C你的对话框类::OnSelendokCombo1()
{
CString Info;
int i=((CComboBox *)GetDlgItem(IDC_COMBO1))->GetCurSel();//得到Combo的当前选择
((CComboBox *)GetDlgItem(IDC_COMBO1))->GetLBText(i,Info);//得到当前选择对应的内容
SetDlgItemText(IDC_EDIT1,Info);//设置到编辑框里
}
重载IDC_COMBO1的CBN_SELENDOK响应函数:
void C你的对话框类::OnSelendokCombo1()
{
CString Info;
int i=((CComboBox *)GetDlgItem(IDC_COMBO1))->GetCurSel();//得到Combo的当前选择
((CComboBox *)GetDlgItem(IDC_COMBO1))->GetLBText(i,Info);//得到当前选择对应的内容
SetDlgItemText(IDC_EDIT1,Info);//设置到编辑框里
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对,就是用那个SELCHANGED事件的,我做过的是根据不同的选项,将数据库中的记录显示出来。最理想的方法是直接添加在该函数内部。你要是不会在函数内部写代码,那就是用SendMessage()吧,本办法但很有效,当选项被改变时,调用SendMessage发送一个自定义消息WM_USER+XXX到对话框,然后改变对话框的消息路由(好像是winproc消息映射函数--自己去查一下吧,ctrl+w里面有的),增加一行代码:
if(message==WM_USER+XXX)
{
strContent.Format(_T("..."));
UpdateData(FALSE);
}
就行了。strContent是给编辑框增加的CString变量
if(message==WM_USER+XXX)
{
strContent.Format(_T("..."));
UpdateData(FALSE);
}
就行了。strContent是给编辑框增加的CString变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-07-24
展开全部
很简单,可以写个例子给你!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询