VC中的几个入门级的简单问题(之二),希望能得到大家的帮助,谢谢!
1 在appwizard中创建一个对话框模板,我加入了菜单资源,但我如何把其放进对话框中呢?
2 VC中的控件有数组吗?
本人是刚刚从VB中转向VC的,我在这一段时间会有很多入门级的关于VC的问题来提问,不管是想要分也好,
还是帮助我也好,希望各位能解答。
1 在appwizard中创建一个对话框模板,我加入了菜单资源,但我如何把其放进对话框中呢?
2 VC中的控件有数组吗?
本人是刚刚从VB中转向VC的,我在这一段时间会有很多入门级的关于VC的问题来提问,不管是想要分也好,
还是帮助我也好,希望各位能解答。
2. 你的问题很含糊,我没有明白。VC里很少用控件的,都是MFC类的天下。
2 我指的控件是指CButton之类的,是我在资源编辑器中做的,如果做一个计算器之类的程序,好像用控件做数组比较方便,否则我是否要一个button一个button设相关变量吗?
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]);
}
我想好像计算器那样,窗口是平的,可以设置吗?
2。控件你可以定义成数组.比如CButton b[100],
或用动态数组,CArray<CButton,CButton&) m_b;
或用动态数组指针等,CPtArray m_pb;都可以记录控件数组,但有一点,这也需要你会动态创建。
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);