次の部分コードを検討してください。私の問題は、スクロールバーが矩形と揃っていないことです。私は長方形と2つの間に大きなギャップを持つスクロールバーを取得します。私は実験をして、 "オフセット"が何であるかを見いだし、それを入れてみましたが、スクロールバーが座標を敬うように見えない理由を理解したいと思います。 CreateWindowスクロールバーの配置の問題
hCDC = GetDC(hCWnd);
bkgBrush = CreateSolidBrush(BGColor);
SetMapMode(hCDC, MM_TEXT);
SelectObject(hCDC, bkgBrush);
Rectangle(hCDC, VTRect->left, VTRect->top, VTRect->right, VTRect->bottom);
iHThumb = GetSystemMetrics(SM_CXHTHUMB);
iVThumb = GetSystemMetrics(SM_CYVTHUMB);
hInstance = NULL;
if(hWndVertScroll)
DestroyWindow(hWndVertScroll);
hWndVertScroll = CreateWindow(
"Scrollbar",
(LPSTR)NULL,
WS_CHILD | WS_VISIBLE | SBS_VERT | SBS_RIGHTALIGN,
VTRect->left,VTRect->top,VTRect->right,VTRect->bottom-iVThumb ,
hCWnd,
NULL,
hInstance,
NULL);
は、私が使用してのcreateWindowコールを呼び出すと思い、ギャップを補正するために、次
hWndVertScroll = CreateWindow(
"Scrollbar",
(LPSTR)NULL,
WS_CHILD | WS_VISIBLE | SBS_VERT | SBS_RIGHTALIGN,
VTRect->left,VTRect->top,VTRect->right - 100 ,VTRect->bottom-iVThumb ,
hCWnd,
NULL,
hInstance,
NULL);
しかしVTRect->右の理由を私は理解していない - 100をする必要がありますが、スクロール長方形の右側にバーを上にします。私はVTRect-> right-iHThumbを試しましたが、まだ小さなものですがギャップはあります。赤い長方形とスクロールバーと両者の間のギャップの
スクリーンショット: