我创建了一个制表器控件, 并在它上创建了多个制表项。 我希望我的制表符控件( 没有项目的区域) 背景有良好的外观 。 所以我使用 gradientFinll 来绘制制表器控件 。 但是, 这样做时, 标签项就消失了 。 这与父子窗口的情况不同 。 因此, 如果我想更改制表符控件的背景, 我是否应该也绘制制表项?
这是代码:
switch(message) {
case WM_PAINT:
HDC hdc;
PAINTSTRUCT ps;
RECT rectTabControl;
hdc = BeginPaint(hwnd, &ps);
GetClientRect(hwnd, &rectTabControl);
TRIVERTEX vert[2] ;
GRADIENT_RECT gRect;
vert [0] .x = 0;
vert [0] .y = 0;
vert [0] .Red = 0x1000;
vert [0] .Green = 0x0000;
vert [0] .Blue = 0x0000;
vert [0] .Alpha = 0x0000;
vert [1] .x = rectTabControl.right;
vert [1] .y = rectTabControl.bottom;
vert [1] .Red = 0xff00;
vert [1] .Green = 0x0000;
vert [1] .Blue = 0x0000;
vert [1] .Alpha = 0x0000;
gRect.UpperLeft = 0;
gRect.LowerRight = 1;
GradientFill(hdc,vert,2,&gRect,1,GRADIENT_FILL_RECT_H);
EndPaint(hwnd, &ps);
return 0;
}