为什么MFC我重新的OnInitDialog函数没效果
BOOLZoomDialog::OnInitDialog(){CDialog::OnInitDialog();//TODO:在此添加额外的初始化m_cSlider.Set...
BOOL ZoomDialog::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加额外的初始化
m_cSlider.SetRange(1,400);
m_cSlider.SetTicFreq(25);
m_cSlider.SetPos(100);
SetDlgItemText(IDC_STATIC1,"缩放:100%");
UpdateData();
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
然后就是对m_cSlider滑块的初始值,取值范围进行设定,但是我发现实际上这些设定是没用的。
我想知道为什么?然后怎么改写?
所谓的没用就是说滑块初始值什么的跟没设一样…… 展开
{
CDialog::OnInitDialog();
// TODO: 在此添加额外的初始化
m_cSlider.SetRange(1,400);
m_cSlider.SetTicFreq(25);
m_cSlider.SetPos(100);
SetDlgItemText(IDC_STATIC1,"缩放:100%");
UpdateData();
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
然后就是对m_cSlider滑块的初始值,取值范围进行设定,但是我发现实际上这些设定是没用的。
我想知道为什么?然后怎么改写?
所谓的没用就是说滑块初始值什么的跟没设一样…… 展开
6个回答
2010-07-24
展开全部
你说的没用是怎么判断的?
如果是调试的时候滑动滑块后,静态文本没有变化的话,那就是你的程序代码里没有与之相关的处理代码,因为静态文本与滑块控件是没有任何关联的,你要自己写处理代码,静态文本才会有变化。
如果是这里的初始化后,显示的滑块频率不对,那就是滑块属性的TBS_AUTOTICKS样式不对
如果是调试的时候滑动滑块后,静态文本没有变化的话,那就是你的程序代码里没有与之相关的处理代码,因为静态文本与滑块控件是没有任何关联的,你要自己写处理代码,静态文本才会有变化。
如果是这里的初始化后,显示的滑块频率不对,那就是滑块属性的TBS_AUTOTICKS样式不对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CDialog::OnInitDialog();
应该在最后一句才调用。
应该在最后一句才调用。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试把原本的OnInitDialog放到return的前面吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
但仅这些代码看
没有发现什么错误
运行正常
你的问题不是出在初始化窗口上函数中,而是在别处
没有发现什么错误
运行正常
你的问题不是出在初始化窗口上函数中,而是在别处
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-08-03
展开全部
Because your "m_cSlider" has not been attached to a slider control in the dialog.
You can explicitly attach the window handle of the slider control to the variable m_cSlider by adding this line :
"m_cSlider.attach(GetDlgItem(IDC_YOUR_SLIDER))"
after CDialog::OnInitDialog.
Good luck!
You can explicitly attach the window handle of the slider control to the variable m_cSlider by adding this line :
"m_cSlider.attach(GetDlgItem(IDC_YOUR_SLIDER))"
after CDialog::OnInitDialog.
Good luck!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询