VC中的几个入门级的简单问题(之二),希望能得到大家的帮助,谢谢!
1 在appwizard中创建一个对话框模板,我加入了菜单资源,但我如何把其放进对话框中呢?
2 VC中的控件有数组吗?
本人是刚刚从VB中转向VC的,我在这一段时间会有很多入门级的关于VC的问题来提问,不管是想要分也好,
还是帮助我也好,希望各位能解答。

解决方案 »

  1.   

    1. 建议生成SDI,在第六步时,把CView改为CFormView
    2. 你的问题很含糊,我没有明白。VC里很少用控件的,都是MFC类的天下。
      

  2.   

    1 我想做好菜单后,用代码加载到对话框中,但我不知道怎么加载。
    2 我指的控件是指CButton之类的,是我在资源编辑器中做的,如果做一个计算器之类的程序,好像用控件做数组比较方便,否则我是否要一个button一个button设相关变量吗?
      

  3.   

    private:
    CShadeButtonST m_btnButtons[9];
    但是:
    void CDlgShadeButtonST::DoDataExchange(CDataExchange* pDX)
    {
    CDialog::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CDlgShadeButtonST)
    // NOTE: the ClassWizard will add DDX and DDV calls here
    //}}AFX_DATA_MAP DDX_Control(pDX, IDC_BTNSHADE1, m_btnButtons[0]);
    DDX_Control(pDX, IDC_BTNSHADE2, m_btnButtons[1]);
    DDX_Control(pDX, IDC_BTNSHADE3, m_btnButtons[2]);
    DDX_Control(pDX, IDC_BTNSHADE4, m_btnButtons[3]);
    DDX_Control(pDX, IDC_BTNSHADE5, m_btnButtons[4]);
    DDX_Control(pDX, IDC_BTNSHADE6, m_btnButtons[5]);
    DDX_Control(pDX, IDC_BTNSHADE7, m_btnButtons[6]);
    DDX_Control(pDX, IDC_BTNSHADE8, m_btnButtons[7]);
    DDX_Control(pDX, IDC_BTNSHADE9, m_btnButtons[8]);
    }
      

  4.   

    1 在appwizard中创建一个SID模板,并选中CFormView,但运行后窗口中间部分是凹进去的,
    我想好像计算器那样,窗口是平的,可以设置吗?
      

  5.   

    在对话框的属性里面,将Menu选择为你建立的菜单的ID,本来是空的。
      

  6.   

    1。在对话框的属性里面,将Menu选择为你建立的菜单的ID
    2。控件你可以定义成数组.比如CButton b[100],
    或用动态数组,CArray<CButton,CButton&) m_b;
    或用动态数组指针等,CPtArray m_pb;都可以记录控件数组,但有一点,这也需要你会动态创建。
      

  7.   

    1,在对话框的属性里面,设置Menu为你建立的菜单的ID
    2,我明白你控件建立数组的意思,就是一个一个设置非常麻烦,尤其是在代码重要对所有的同一类空间进行操作,要挟很多一样的代码。首先必须肯定的是:各个按钮的ID是不能设置成熟组形式的,所以你必须一个一个的设置。但是在代码中,你可这样:
    定义:
    const int g_Button[16]=
    {
        IDC_BUTTON_1, IDC_BUTTON_2,....IDC_BUTTON_16
    };
    在代码中就可以利用数组进行操作了:
    如:
    for (int i=0;i<16;i++)
    {
        GetDlgItem(g_Button[i])->EnableWindow(FALSE);
    }
    而不必:
        GetDlgItem(IDC_BUTTON_1)->EnableWindow(FALSE);
        GetDlgItem(IDC_BUTTON_2)->EnableWindow(FALSE);
        GetDlgItem(IDC_BUTTON_3)->EnableWindow(FALSE);
        ..............................................
        GetDlgItem(IDC_BUTTON_16)->EnableWindow(FALSE);