鸡啄米
VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)›评论
-
37. 藏没没:
零、硬件产生事件,操作系统把事件包装成消息,发给父窗口。
一般,可以插入控件的事件处理程序,作为回调函数。
本例,重写了窗口的消息响应函数,作为回调函数。
但,对于同一类型控件,可能有多个实例,操作系统传给回调函数的参数是共用的。
下面举例,两个Scroll Bar的情况。
一、父窗口(CCCtrl1AppDlg)中声明分别的位置暂存变量。
class CCCtrl1AppDlg : public CDialogEx
{
private:
CScrollBar m_my_ScrollH;
int m_my_ScrollH_copy;
CScrollBar m_my2_ScrollH;
int m_my2_ScrollH_copy;
}
二、构造函数中对暂存变量初始化
CCCtrl1AppDlg::CCCtrl1AppDlg(CWnd* pParent /*=nullptr*/)
: CDialogEx(IDD_CCTRL1APP_DIALOG, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
m_my_ScrollH_copy = 20;
m_my2_ScrollH_copy = 50;
}藏没没 于 2020/11/8 20:36:59 回复三、初始化函数中初始化滚动条状态
BOOL CCCtrl1AppDlg::OnInitDialog()
{
.................
//06 Scroll Bar
// 设置水平滚动条的滚动范围为1到100
m_my_ScrollH.SetScrollRange(1, 100);
// 设置水平滚动条的初始位置为20
m_my_ScrollH.SetScrollPos(m_my_ScrollH_copy);
// 在编辑框中显示20
SetDlgItemInt(IDC_EDIT5, m_my_ScrollH_copy);
// 设置水平滚动条的滚动范围为1到100
m_my2_ScrollH.SetScrollRange(1, 100);
// 设置水平滚动条的初始位置为20
m_my2_ScrollH.SetScrollPos(m_my2_ScrollH_copy);
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}2020/11/8 20:36
-
36. 小火狐:
输入光标很烦人(强迫症患者)2019/3/12 18:08
-
35. sharpheart:
打卡学习 飘过。。。。2018/3/21 23:10
-
34. VS2015:
麻烦问下我用的VS2015为啥会出现Debug Assertion Failed2016/12/13 21:02
-
33. 萌新122:
请问,如果我想弄两个独立的滑动条改怎么做?2016/8/30 14:14
发表评论