在MainWndProc函数中,添加代码来处理WM_HSCROLL和WM_VSCROLL消息。
情况下WM_HSCROLL:
/*修改全局rClientSize矩形*/
GetClientRect (hWnd, &rClientSize);
/*查看用户想要滚动多少*/
开关(LOWORD(按钮)
{
/*减少10% */
情况下SB_LINELEFT:
nscrolllinc = - XScrollRange / 10;
打破;
/*增加10% */
情况下SB_LINERIGHT:
nscrolllinc = XScrollRange / 10;
打破;
/*客户端大小*/
情况下SB_PAGELEFT:
nScrollInc = - rClientSize.right;
打破;
/*增加客户端大小*/
情况下SB_PAGERIGHT:
nScrollInc = rClientSize.right;
打破;
/*计算拇指位置的变化*/
情况下SB_THUMBPOSITION:
nscrolllinc = HIWORD(wParam) - XScrollPosition;
打破;
/*无增量;输入exit */
默认的:
返回(0);
}
/*限制滚动增量为可用的*/
如果(nScrollInc > 0)
nscrolllinc = min(nscrolllinc, (XScrollRange - XScrollPosition));
其他的
nScrollInc = max(nScrollInc, -XScrollPosition);
/*更新全局显示矩形*/
offset (&rLeadDest,-nScrollInc, 0);
/*滚动客户端区域*/
ScrollWindow (hWnd,-nScrollInc, 0, NULL, NULL);
/*计算新的滚动位置*/
XScrollPosition += nScrollInc;
/*通过滚动*/来防止背景擦除
如果(nScrollInc > 0)
{
SetRect (&ScrollRect rClientSize。右- nScrollInc, 0,
rClientSize。对,rClientSize.bottom);
}
其他的
{
SetRect(&ScrollRect, 0,0, -nScrollInc, rClientSize.bottom);
}
ValidateRect (hWnd, &ScrollRect);
InvalidateRect(hWnd, &ScrollRect, FALSE);
/*设置新的滚动位置*/
SetScrollPos (hWnd, SB_HORZ, XScrollPosition, TRUE);
/*更新窗口*/
UpdateWindow (hWnd);
返回(0);
情况下WM_VSCROLL:
/*修改全局rClientSize矩形*/
GetClientRect (hWnd, &rClientSize);
/*查看用户想要滚动多少*/
开关(LOWORD(按钮)
{
/*减少10% */
情况下SB_LINEUP:
nscrolllinc = - YScrollRange / 10;
打破;
/*增加10% */
情况下SB_LINEDOWN:
nscrolllinc = YScrollRange / 10;
打破;
/*客户端大小*/
情况下SB_PAGEUP:
nScrollInc = - rClientSize.bottom;
打破;
/*增加客户端大小*/
情况下SB_PAGEDOWN:
nScrollInc = rClientSize.bottom;
打破;
/*计算拇指位置的变化*/
情况下SB_THUMBPOSITION:
nscrolllinc = HIWORD(wParam) - YScrollPosition;
打破;
/*无增量;输入exit */
默认的:
返回(0);
}
/*限制滚动增量为可用的*/
如果(nScrollInc > 0)
nScrollInc = min(nScrollInc, (YScrollRange - YScrollPosition));
其他的
nScrollInc = max(nScrollInc, -YScrollPosition);
/*更新全局显示矩形*/
offset (&rLeadDest, 0, -nScrollInc);
/*滚动客户端区域*/
ScrollWindow (hWnd, 0, -nScrollInc, NULL, NULL);
/*通过滚动*/来防止背景擦除
如果(nScrollInc > 0)
{
SetRect(&ScrollRect, 0, rClientSize.)- nScrollInc,
rClientSize。rClientSize。底);
}
其他的
{
SetRect(&ScrollRect, 0,0, rClientSize.right,-nScrollInc);
}
ValidateRect (hWnd, &ScrollRect);
InvalidateRect(hWnd, &ScrollRect, FALSE);
/*计算新的滚动位置*/
YScrollPosition += nScrollInc;
/*设置新的滚动位置*/
SetScrollPos (hWnd, SB_VERT, YScrollPosition, TRUE);
/*更新窗口*/
UpdateWindow (hWnd);
返回(0);
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。