用VC工具箱在dialog对话框中加入滚动条后怎么用?
如题,在不加resource的情况下我知道怎么设置和使用scrollbar但是添加dialog后再加入的scrollbar就不知道在程序里该怎么调用它.举个例子:有一整形...
如题,在不加resource的情况下我知道怎么设置和使用scrollbar
但是添加dialog后再加入的scrollbar就不知道在程序里该怎么调用它.
举个例子:有一整形变量x,初始化为0,在窗口中间显示.
窗口下方是水平的滚动条,范围0--100,数字可以随着滚动条的滑动而改变为相应数字.
请尽量给出代码,我会追加分数到200的,谢谢帮忙~
(有示例程序或介绍用法的网页也请指教) 展开
但是添加dialog后再加入的scrollbar就不知道在程序里该怎么调用它.
举个例子:有一整形变量x,初始化为0,在窗口中间显示.
窗口下方是水平的滚动条,范围0--100,数字可以随着滚动条的滑动而改变为相应数字.
请尽量给出代码,我会追加分数到200的,谢谢帮忙~
(有示例程序或介绍用法的网页也请指教) 展开
3个回答
展开全部
首先添加一个滚动条到对话框中(就是在Resources面板中用VC工具箱添加)
然后为该滚动条控件添加滚动条控制变量:CSliderCtrl m_SliderCtrl;
并且添加一个静态文本框控件来显示数字,也为该静态文本框控件添加控制变量:CStatic m_Show;
然后在对话框的OnInitDialog()函数中添加滚动条的初始代码:
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CString str;
str.Format("%d",0);
m_Show.SetWindowText(str);
m_SliderCtrl.SetRange(0,100,false); //设置滚动条范围
m_SliderCtrl.SetPageSize(10); //单击滚动条非滑块部分滚动条值变化值为十
m_SliderCtrl.SetPos(0); //初始值为0;
// TODO: Add extra initialization here
return TRUE;
}
然后为滚动条添加NM_CUSTOMDRAW消息函数:
void CMyDlg::OnNMCustomdrawTrans(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
// TODO: Add your control notification handler code here
CString str;
str.Format("%d",m_SliderCtrl.GetPos());
m_Show.SetWindowText(str);
*pResult = 0;
}
这样应该满足你的要求
我可是给出代码了啊 你说了要加分的 别忘了啊(嘿嘿 我这人天生就是脸皮厚)
然后为该滚动条控件添加滚动条控制变量:CSliderCtrl m_SliderCtrl;
并且添加一个静态文本框控件来显示数字,也为该静态文本框控件添加控制变量:CStatic m_Show;
然后在对话框的OnInitDialog()函数中添加滚动条的初始代码:
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CString str;
str.Format("%d",0);
m_Show.SetWindowText(str);
m_SliderCtrl.SetRange(0,100,false); //设置滚动条范围
m_SliderCtrl.SetPageSize(10); //单击滚动条非滑块部分滚动条值变化值为十
m_SliderCtrl.SetPos(0); //初始值为0;
// TODO: Add extra initialization here
return TRUE;
}
然后为滚动条添加NM_CUSTOMDRAW消息函数:
void CMyDlg::OnNMCustomdrawTrans(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
// TODO: Add your control notification handler code here
CString str;
str.Format("%d",m_SliderCtrl.GetPos());
m_Show.SetWindowText(str);
*pResult = 0;
}
这样应该满足你的要求
我可是给出代码了啊 你说了要加分的 别忘了啊(嘿嘿 我这人天生就是脸皮厚)
展开全部
然后为该滚动条控件添加滚动条控制变量:CSliderCtrl m_SliderCtrl;
并且添加一个静态文本框控件来显示数字,也为该静态文本框控件添加控制变量:CStatic m_Show;
然后在对话框的OnInitDialog()函数中添加滚动条的初始代码:
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CString str;
str.Format("%d",0);
m_Show.SetWindowText(str);
m_SliderCtrl.SetRange(0,100,false); //设置滚动条范围
m_SliderCtrl.SetPageSize(10); //单击滚动条非滑块部分滚动条值变化值为十
m_SliderCtrl.SetPos(0); //初始值为0;
// TODO: Add extra initialization here
return TRUE;
}
然后为滚动条添加NM_CUSTOMDRAW消息函数:
void CMyDlg::OnNMCustomdrawTrans(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
// TODO: Add your control notification handler code here
CString str;
str.Format("%d",m_SliderCtrl.GetPos());
m_Show.SetWindowText(str);
*pResult = 0;
}
这样应该满足你的要求
我可是给出代码了啊 你说了要加分的 别忘了啊(嘿嘿 我这人天生就是脸皮厚)
并且添加一个静态文本框控件来显示数字,也为该静态文本框控件添加控制变量:CStatic m_Show;
然后在对话框的OnInitDialog()函数中添加滚动条的初始代码:
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CString str;
str.Format("%d",0);
m_Show.SetWindowText(str);
m_SliderCtrl.SetRange(0,100,false); //设置滚动条范围
m_SliderCtrl.SetPageSize(10); //单击滚动条非滑块部分滚动条值变化值为十
m_SliderCtrl.SetPos(0); //初始值为0;
// TODO: Add extra initialization here
return TRUE;
}
然后为滚动条添加NM_CUSTOMDRAW消息函数:
void CMyDlg::OnNMCustomdrawTrans(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
// TODO: Add your control notification handler code here
CString str;
str.Format("%d",m_SliderCtrl.GetPos());
m_Show.SetWindowText(str);
*pResult = 0;
}
这样应该满足你的要求
我可是给出代码了啊 你说了要加分的 别忘了啊(嘿嘿 我这人天生就是脸皮厚)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为新建立对话框建立类(右击-插入类)假定类名为CMyDialog,在你需要使用的地方
CMyDialog dlg;
dlg.domodal();
就可以了。别忘了include 头文件
CMyDialog dlg;
dlg.domodal();
就可以了。别忘了include 头文件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询