我想用win32中带垂直滚动条的对话框.对话框内有许多其它控件,操作滚动条可以对所有控件进行浏览.
不过,类似下面的做法好像并不能实现,感觉ScrollWindowEx没什么用,我是否需要自己写对"WM_PAINT"的响应绘出滚动时的显示区域?有哪位大侠做过类似的吗,可不可以说一写大概的思路,有源码参考的话就更好了.
非常感谢.
BOOL CALLBACK DlgDownloadScrollProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg){
case WM_INITDIALOG:
break;
case WM_SIZE:
{
...
}
break;
case WM_VSCROLL:
{
SCROLLINFO scroll_info;
int offset;
int cur_pos;
int nSBCode = (int)LOWORD(wParam);  switch (nSBCode) {
case SB_LINEUP:
offset = 1; break;
case SB_LINEDOWN:
offset = -1; break;
case SB_PAGEUP:
offset = cur_pos - scroll_info.nMin; break;
case SB_PAGEDOWN:
offset = scroll_info.nMax - cur_pos; break;
case SB_TOP:
offset = cur_pos - scroll_info.nMin;
break;
case SB_BOTTOM:
offset = scroll_info.nMax - cur_pos;
break;
case SB_THUMBTRACK:
offset = cur_pos - scroll_info.nTrackPos;
break;
default:
offset = 0;
break;
}; ScrollWindowEx(hwndDlg, 0, offset, NULL, NULL, NULL, NULL, SW_SCROLLCHILDREN);
UpdateWindow(hwndDlg);
SetScrollPos(hwndDlg, SB_VERT, cur_pos - offset,TRUE);
}
break;
}