手动创建的复合框(ComboBox),带列表框的那种,和对话框模板创建的都无法在顶端显示默认文本。怎么办?
谢谢!
4 个解决方案
#1
顶一下,求高人指路。
谢谢!
谢谢!
#2
我也遇到过类似问题,用代码解决的。
在你的ComboBox所在的对话框类的初始化函数中,在已经addstring了可选值之后,SetCurSel一下就可以了,比如你想添加的是“一,二,三”,对应的是0,1,2这三个索引值,而你想让他初始化后显示第1个索引值对着的“二”,那就是:
BOOL DlgChannelParam::OnInitDialog()
{
if (CDialog::OnInitDialog())
{
client_num.addstring("一");
client_num.addstring("二");
client_num.addstring("三");
client_num.SetCurSel(1);
}
}
以上就可了~~~
在你的ComboBox所在的对话框类的初始化函数中,在已经addstring了可选值之后,SetCurSel一下就可以了,比如你想添加的是“一,二,三”,对应的是0,1,2这三个索引值,而你想让他初始化后显示第1个索引值对着的“二”,那就是:
BOOL DlgChannelParam::OnInitDialog()
{
if (CDialog::OnInitDialog())
{
client_num.addstring("一");
client_num.addstring("二");
client_num.addstring("三");
client_num.SetCurSel(1);
}
}
以上就可了~~~
#3
_AFXWIN_INLINE int CComboBox::SetCurSel(int nSelect)
{ ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_SETCURSEL, nSelect, 0); }
直接用WIN32 API写窗口的话,遇到不知道怎么控制的控件时,就去看看MFC里面同样地控件
MFC就是封装的WIN32 API操作。
你这个直接调用
::SendMessage(hComboBoxWnd, CB_SETCURSEL, 0, 0);
就行了
{ ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_SETCURSEL, nSelect, 0); }
直接用WIN32 API写窗口的话,遇到不知道怎么控制的控件时,就去看看MFC里面同样地控件
MFC就是封装的WIN32 API操作。
你这个直接调用
::SendMessage(hComboBoxWnd, CB_SETCURSEL, 0, 0);
就行了
#4
设置当前选项用SetCurSel函数,函数原型如下:
int SetCurSel(
int nSelect //指定当前的选择项,基于0索引
);
在对话框的OnInitDialog函数中添加
BOOL CXXXDlg::OnInitDialog()
{
......
m_ctlCombox.SetCurSel(0);
......
}
对comboBox控件添加变量一般都是选Contral,这样可以用变量调用类成员函数,比如获取当前编辑框内容的接口函数GetLBText
-------------------------------------引用别人的
int SetCurSel(
int nSelect //指定当前的选择项,基于0索引
);
在对话框的OnInitDialog函数中添加
BOOL CXXXDlg::OnInitDialog()
{
......
m_ctlCombox.SetCurSel(0);
......
}
对comboBox控件添加变量一般都是选Contral,这样可以用变量调用类成员函数,比如获取当前编辑框内容的接口函数GetLBText
-------------------------------------引用别人的
#1
顶一下,求高人指路。
谢谢!
谢谢!
#2
我也遇到过类似问题,用代码解决的。
在你的ComboBox所在的对话框类的初始化函数中,在已经addstring了可选值之后,SetCurSel一下就可以了,比如你想添加的是“一,二,三”,对应的是0,1,2这三个索引值,而你想让他初始化后显示第1个索引值对着的“二”,那就是:
BOOL DlgChannelParam::OnInitDialog()
{
if (CDialog::OnInitDialog())
{
client_num.addstring("一");
client_num.addstring("二");
client_num.addstring("三");
client_num.SetCurSel(1);
}
}
以上就可了~~~
在你的ComboBox所在的对话框类的初始化函数中,在已经addstring了可选值之后,SetCurSel一下就可以了,比如你想添加的是“一,二,三”,对应的是0,1,2这三个索引值,而你想让他初始化后显示第1个索引值对着的“二”,那就是:
BOOL DlgChannelParam::OnInitDialog()
{
if (CDialog::OnInitDialog())
{
client_num.addstring("一");
client_num.addstring("二");
client_num.addstring("三");
client_num.SetCurSel(1);
}
}
以上就可了~~~
#3
_AFXWIN_INLINE int CComboBox::SetCurSel(int nSelect)
{ ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_SETCURSEL, nSelect, 0); }
直接用WIN32 API写窗口的话,遇到不知道怎么控制的控件时,就去看看MFC里面同样地控件
MFC就是封装的WIN32 API操作。
你这个直接调用
::SendMessage(hComboBoxWnd, CB_SETCURSEL, 0, 0);
就行了
{ ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_SETCURSEL, nSelect, 0); }
直接用WIN32 API写窗口的话,遇到不知道怎么控制的控件时,就去看看MFC里面同样地控件
MFC就是封装的WIN32 API操作。
你这个直接调用
::SendMessage(hComboBoxWnd, CB_SETCURSEL, 0, 0);
就行了
#4
设置当前选项用SetCurSel函数,函数原型如下:
int SetCurSel(
int nSelect //指定当前的选择项,基于0索引
);
在对话框的OnInitDialog函数中添加
BOOL CXXXDlg::OnInitDialog()
{
......
m_ctlCombox.SetCurSel(0);
......
}
对comboBox控件添加变量一般都是选Contral,这样可以用变量调用类成员函数,比如获取当前编辑框内容的接口函数GetLBText
-------------------------------------引用别人的
int SetCurSel(
int nSelect //指定当前的选择项,基于0索引
);
在对话框的OnInitDialog函数中添加
BOOL CXXXDlg::OnInitDialog()
{
......
m_ctlCombox.SetCurSel(0);
......
}
对comboBox控件添加变量一般都是选Contral,这样可以用变量调用类成员函数,比如获取当前编辑框内容的接口函数GetLBText
-------------------------------------引用别人的