设为首页 加入收藏

TOP

输出文字(二十九)
2010-12-30 21:10:02 来源: 作者: 【 】 浏览:24230
Tags:输出 文字
呼叫SetScrollPos来改变卷动方块的位置。

当把滑鼠的游标放在卷动方块上并按住滑鼠键时,您就可以移动卷动方块。这样就产生了带有SB_THUMBTRACK和SB_THUMBPOSITION通知码的卷动列讯息。在wParam的低字组是SB_THUMBTRACK时,wParam的高字组是使用者在拖动卷动方块时的目前位置。该位置位於卷动列范围的最小值和最大值之间。在wParam的低字组是SB_THUMBPOSITION时,wParam的高字组是使用者释放滑鼠键後卷动方块的最终位置。对於其他的卷动列操作,wParam的高字组应该被忽略。

为了给使用者提供回馈,Windows在您用滑鼠拖动卷动方块时移动它,同时您的程式会收到SB_THUMBTRACK讯息。然而,如果不通过呼叫SetScrollPos来处理SB_THUMBTRACK或SB_THUMBPOSITION讯息,在使用者释放滑鼠键後,卷动方块会迅速跳回原来的位置。

程式能够处理SB_THUMBTRACK或SB_THUMBPOSITION讯息,但一般不同时处理两者。如果处理SB_THUMBTRACK讯息,在使用者拖动卷动方块时您需要移动显示区域的内容。而如果处理SB_THUMBPOSITION讯息,则只需在使用者停止拖动卷动方块时移动显示区域的内容。处理SB_THUMBTRACK讯息更好一些(但更困难),对於某些型态的资料,您的程式可能很难跟上产生的讯息。

WINUSER.H表头档案还包括SB_TOP、SB_BOTTOM、SB_LEFT和SB_RIGHT通知码,指出卷动列已经被移到了它的最小或最大位置。然而,对於作为应用程式视窗一部分而建立的卷动列来说,永远不会接收到这些通知码。

在卷动列范围使用32位元的值也是有效的,尽管这不常见。然而,wParam的高字组只有16位元的大小,它不能适当地指出SB_THUMBTRACK和SB_THUMBPOSITION操作的位置。在这种情况下,需要使用GetScrollInfo函式(在下面描述)来得到资讯。

在SYSMETS中加入卷动功能
 

前面的说明已经很详尽了,现在,要将那些东西动手做做看了。让我们开始时简单些,从垂直卷动著手,因为我们实在太需要垂直卷动了,而暂时还可以不用水平卷动。SYSMET2如程式4-3所示。这个程式可能是卷动列的最简单的应用。

首页 上一页 26 27 28 29 30 31 32 下一页 尾页 29/44/44
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇图形基础 下一篇视窗和讯息

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: