msdn讲的看不懂啊
解决方案 »
- 关于WaitForSingleObject函数的问题
- VC6总是安装不成功,有人知道原因吗?
- 求助:关于画图的一个问题。
- 同时对一个DC画,会有问题吗?
- 将钩子DLL注入某进程后,如何让钩子在进程中安装(installhook)?
- ReadDirectoryChangesW()为什么会不正确
- 谁知道曲线的流动蚂蚁线怎么实现
- 怎么样才能把DBGrid与ADO数据源连接起来
- 请问有没有能批量转换图片格式、大小、质量的软件?
- 如何将256色的位图与24位的位图相互转化?(关键在于如何处理调色板信息)
- 我给按钮贴了个图,但是release版本的exe单独拿出来运行时贴图却不见了?
- 急:MFC对话框拖动痕迹处理问题
// CScrollBar class, and it is a member variable in CMyDialog class.
SCROLLINFO info;
info.cbSize = sizeof(SCROLLINFO);
info.fMask = SIF_ALL;
info.nMin = 0;
info.nMax = 10;
info.nPage = 2;
info.nPos = 5;
info.nTrackPos = 2;
m_ScrollBarHorz.SetScrollInfo(&info);
SCROLLINFO 结构体定义对象来赋值提供滚动条的信息,包括了滚动条最大/小的位置信息,及页面的大小信息。
之类的
typedef struct tagSCROLLINFO
{
UINT cbSize ; // set to sizeof (SCROLLINFO)
UINT fMask ; // values to set or get
int nMin ; // minimum range value
int nMax ; // maximum range value
UINT nPage ; // page size
int nPos ; // current position
int nTrackPos ; // current tracking position
}SCROLLINFO
函数SetScrollInfo和GetScrollInfo的参数LPSCROLLINFO lpsi指向该结构。
在程序中,可以定义如下的SCROLLINFO结构型态:
SCROLLINFO si ;
在调用SetScrollInfo或GetScrollInfo之前,必须将cbSize字段设定为结构的大小:
si.cbSize = sizeof (si) ; 或si.cbSize = sizeof (SCROLLINFO) ;
逐渐熟悉Windows后,您就会发现另外几个结构像这个结构一样,第一个字段指出了结构大小。这个字段使将来的Windows版本可以扩充结构并添加新的功能,并且仍然与以前编译的版本兼容。
把fMask字段设定为一个以上以SIF前缀开头的旗标,并且可以使用C的位操作OR运算子(|)组合这些旗标。 SetScrollInfo函数使用SIF_RANGE旗标时,必须把nMin和nMax字段设定为所需的卷动列范围。GetScrollInfo函数使用SIF_RANGE旗标时,应把nMin和nMax字段设定为从函数传回的目前范围。 SIF_POS旗标也一样。当通过SetScrollInfo使用它时,必须把结构的nPos字段设定为所需的位置。可以通过GetScrollInfo使用SIF_POS旗标来取得目前位置。
使用SIF_PAGE旗标能够取得页面大小。用SetScrollInfo函数把nPage设定为所需的页面大小。GetScrollInfo使用SIF_PAGE旗标可以取得目前页面的大小。如果不想得到比例化的卷动列,就不要使用该旗标。
当处理带有SB_THUMBTRACK或SB_THUMBPOSITION通知码的WM_VSCROLL或WM_HSCROLL消息时,通过GetScrollInfo只使用SIF_TRACKPOS旗标。从函数的传回中,SCROLLINFO结构的nTrackPos字段将指出目前的32位的卷动方块位置。