对话框初始化无效??~~
初学MFC,在对话框的Spin控件中遇到了问题~~
我新建了一个菜单项,为其添加了一个消息处理程序,创建了一个对话框,如下:
void CMainFrame::Onmessage()
{
// TODO: 在此添加命令处理程序代码
CDialog dlg(IDD_DIALOG1);
dlg.DoModal();
}
然后在对话框中放置了Spin控件和一个Edit控件,控件属性什么的都设置好了,然后属性->重写,对其添加初始化函数OnInitDialog(),如下
BOOL message::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加额外的初始化
CSpinButtonCtrl *CD_Spin=(CSpinButtonCtrl *)GetDlgItem(IDC_SPIN1);
CD_Spin.SetRange(-100, 100);
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
调试中可以通过Spin的+/-按钮改变Edit中的值,只不过是默认的0~100的范围和+/-是颠倒的。
也就是上面的初始化中无论是设置范围还是设置当前位置等等的都无效,Spin控件还是默认的设置。
找了好久都解决不了,请问到底是哪个地方有错?或者是漏了什么?
另,我用的是VS2008。我用MFC直接生成的对话框中添加相同的初始化代码就可以,但是在菜单中创建的对话框就不行。。。
他们还有哪个细节不同?