回 帖 发 新 帖 刷新版面

主题:[讨论]三个组合框相关运行时遇到的问题

程序的工作空间在附件:组合框测试.rar里,恳请帮忙看一下!

在对话框框体上放置了三个组合框,准备实现以下功能:
组合框1有两个选项:1
                   2

如组合框1选择1,则组合框2显示:3
                               4
组合框3无效;
如组合框1选择2,则组合框2显示:5
                               6
组合框3无效;

在组合框1选择1的前提下,当组合框2选择3时,组合框3显示:7
                                                       8
在组合框1选择1的前提下,当组合框2选择4时,组合框3显示:9
                                                       10

使用了CBN_SELCHANGE函数实现组合框内容的切换,对于组合框1,可以实现要求的功能,可是
当改变组合框2的选项时,组合框3实现不了要求的内容,以下是OnSelchangeCombo2()函数的
代码,可以帮忙分析一下哪里出了问题吗?

void CMyDlg::OnSelchangeCombo2()
{
    // TODO: Add your control notification handler code here
    GetDlgItem(IDC_COMBO3) -> EnableWindow(true);

    Combo1_index = pCombox2 -> GetCurSel();
    Combo2_index = pCombox2 -> GetCurSel();

    switch(Combo1_index)
    {
        case 0:
            if(Combo2_index == 0)
            {
                pCombox3 -> ResetContent();
                pCombox3 -> AddString("7");
                pCombox3 -> AddString("8");
                pCombox3 -> SetCurSel(0);
            }
            if(Combo2_index == 1)
            {
                pCombox3 -> ResetContent();
                pCombox3 -> AddString("9");
                pCombox3 -> AddString("10");
                pCombox3 -> SetCurSel(0);
            }
            break;
        case 1:
            if(Combo2_index == 0)
            {
                GetDlgItem(IDC_COMBO3) -> EnableWindow(false);
            }
            break;
        default:
            break;
    }

回复列表 (共2个回复)

沙发

不知怎么的,没法上传附件!

板凳

其中写错了一句,应该修改
Combo1_index = pCombox2 -> GetCurSel();
需改为:Combo1_index = pCombox1 -> GetCurSel();

我来回复

您尚未登录,请登录后再回复。点此登录或注册