我用的是TTBXButton,如何改变它的背景颜色?或者其他的按钮,可以改变背景颜色都行。如:TButton,TSpeedButton,TBitBtn等急啊,大虾们帮个忙啊,我之前用的是pannel实现按钮的效果,也重写过TPageControl,现在不需要了,运行起来效果不好。重写DrawTab:
procedure TGPageControl.DrawTab(TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
sCaption: string;
oRect: TRect;
begin
if TabIndex = Self.TabIndex then
begin
with Self.Canvas do
begin
Font.Color := clWhite;
Brush.Color := clHighlight;
FillRect(Rect);
end;
end;
sCaption := Self.Pages[Self.TabIndex].Caption;
oRect := Rect;
DrawText(Self.Canvas.Handle, Pchar(sCaption), Length(sCaption),
oRect, DT_SINGLELINE or DT_CENTER or DT_VCENTER);
end;
procedure TGPageControl.DrawTab(TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
sCaption: string;
oRect: TRect;
begin
if TabIndex = Self.TabIndex then
begin
with Self.Canvas do
begin
Font.Color := clWhite;
Brush.Color := clHighlight;
FillRect(Rect);
end;
end;
sCaption := Self.Pages[Self.TabIndex].Caption;
oRect := Rect;
DrawText(Self.Canvas.Handle, Pchar(sCaption), Length(sCaption),
oRect, DT_SINGLELINE or DT_CENTER or DT_VCENTER);
end;
重绘了,Canvas是万能的,但是有些控件没有Canvas属性,该如何处理?
TControlCanvas继承自TCanvas
//定义
FCanvas: TControlCanvas;
//操作
FCanvas := TControlCanvas.Create;
FCanvas.Control := Self;在这里你可以操作这个FCanvas实现
嗯,TCanvas研究了一下,用起来真好~谢谢你们啦~对了,一个画布的内容如何复制到另外一个画布上面?比如:
FOldCanvas,FNewCanvas: TCanvas;
FNewCanvas := FOldCanvas; //这样是不行的,要一次操作该改如何处理?