C++中组合框控件和编辑框的问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 17:20:17
谁能告诉我怎么实现:
选择组合框时编辑框会自动获取数据,而不用在旁边加个按钮
本人是个菜鸟,刚刚学MFC什么都不会,望高手详细指点!

每个控件在MFC中都有一个相关的类来控件的,比如编辑框类,有CEdit类,而类又提供了与该控件相关的一些操作.当然,组合框也不例外,其相关的类为CComboBox 类.查一下该类的成员函数,会发现有很多函数,可找你想要的,比如,这里你是想在组合框中选一行数据,然后这行数据自动显示在文本框中吧?实现如下:
首先,在对话框中添加一个COMBOBOX和一个EDITBOX,
在对话框的OnInitDialog()中写下:
//先获得该控件的指针
CComboBox *pCombo=(CComboBox *)GetDlgItem(IDC_COMBO1);
CString str;
for (int i=0;i < 5;i++)
{
str.Format(_T("item string %d"), i);
//查一下该类成员,就知道,用这个函数添加数据
pCombo->AddString( str );
}
让组合框有一个初始值.
这时,我们去点击组合框中的列表数据,选中某一个,会触发CLICK事件,因此,我们对组合框"右键"->CLASSWIZARD,添加BN_CLICKED事件,在该函数中写代码:
void CComDlg::OnSelchangeCombo1()
{
// TODO: Add your control notification handler code here
CComboBox *pCombo=(CComboBox *)GetDlgItem(IDC_COMBO1);
//获得数据分两步,先获得该行数据所在的位置,即索引
int Index=pCombo->GetCurSel();
CString str;
//用上面得到的索引去获得真正的数据,放在str中
pCombo->GetLBText(Index,str);
//