M
mill666
Unregistered / Unconfirmed
GUEST, unregistred user!
因为我的form背景色是黑色的,在上面放置的Tcombobox背景色也是黑色的,所以Tcombobox的下拉框(注意是下拉框,而不是Tcombobox自己的框),我想改变这个下拉框的边框颜色为白色的,这样才能跟背景色区分开。
我在自己自定义的Tmycombobox(注:从Tcustomcombobox继承过来的)写了这样的一个过程:
procedure TSimpleLabelComboBox1.paintlistborder;
var
DC: HDC;
R: TRect;
BtnFaceBrush, WindowBrush: HBRUSH;
begin
DC := GetWindowDC(Flisthandle);
GetWindowRect(Flisthandle, R);
OffsetRect(R, -R.Left, -R.Top);
try
BtnFaceBrush := CreateSolidBrush(ColorToRGB(clWhite));
WindowBrush := CreateSolidBrush(ColorToRGB(clWhite));
InflateRect(R, 0, 0);
frameRect(DC, R, WindowBrush);
finally
ReleaseDC(Flisthandle, DC);
end;
DeleteObject(WindowBrush);
DeleteObject(BtnFaceBrush);
end;
然后在dropdown调用这个过程,结果发现不管用啊,没有出现白色边框。
不知道在哪里有问题?
我在自己自定义的Tmycombobox(注:从Tcustomcombobox继承过来的)写了这样的一个过程:
procedure TSimpleLabelComboBox1.paintlistborder;
var
DC: HDC;
R: TRect;
BtnFaceBrush, WindowBrush: HBRUSH;
begin
DC := GetWindowDC(Flisthandle);
GetWindowRect(Flisthandle, R);
OffsetRect(R, -R.Left, -R.Top);
try
BtnFaceBrush := CreateSolidBrush(ColorToRGB(clWhite));
WindowBrush := CreateSolidBrush(ColorToRGB(clWhite));
InflateRect(R, 0, 0);
frameRect(DC, R, WindowBrush);
finally
ReleaseDC(Flisthandle, DC);
end;
DeleteObject(WindowBrush);
DeleteObject(BtnFaceBrush);
end;
然后在dropdown调用这个过程,结果发现不管用啊,没有出现白色边框。
不知道在哪里有问题?