TCS*_*rad 12 mfc combobox visual-studio-2008 visual-c++ drop-down-menu
我在MSVS 2008中编写了一个应用程序,它有一个ComboBox控件,我通过以下代码初始化:
static char* OptionString[4] = {"Opt1",
"Opt2",
"Opt3",
"Opt4"};
BOOL CMyAppDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
m_Option.AddString(OptionString[0]);
m_Option.AddString(OptionString[1]);
m_Option.AddString(OptionString[2]);
m_Option.AddString(OptionString[3]);
m_Option.SetCurSel(0);
return TRUE; // return TRUE unless you set the focus to a control
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,m_Option是ComboBox控件的Control变量.
现在,当我构建应用程序并单击向下箭头时,下拉框仅显示第一个选项(因为我通过我的代码选择了该选项).但是,如果我按下键盘上的向下箭头键,它会按照我插入的顺序循环选项,但从不在框中显示超过1个选项.因此,如果用户想要选择option3,他必须循环选项1和2 !! 虽然一旦我使用键盘选择任何选项,相应的事件处理程序就会被触发,我对此行为感到恼火,这是可以理解的.
我也列出了组合框控件的属性 - 只有属性为true(rest设置为false):
这已经困扰了我几个星期了.任何人都可以开导我吗?
jwi*_*mar 24
在对话框布局设计器中,在设计对话框时,单击组合框上的"向下箭头".然后,您可以向下拖动组合框轮廓的底部以增加其高度.
您需要增加设计器中组合框下拉的高度.
默认情况下,通过设计器,您可以调整ComboBox宽度.如果要调整下拉列表高度的大小,则需要单击右侧的下拉箭头,然后您将能够调整已删除的控件高度.这似乎很容易,但如果没有人告诉你这不是直觉.
希望你理解我的观点.