颜色是不能改的,但可以高亮显示
以下程序在pagechange添加:
procedure tform1.pageactive(pagename:tpagecontrol);
var
i:integer;
sheet:ttabsheet;
begin
for i:=0 to pagename.PageCount-1 do
begin
sheet:=pagename.Pages[i];
if sheet=pagename.ActivePage then
sheet.Highlighted:=true
else
sheet.Highlighted:=false;
end;
end;
以下程序在pagechange添加:
procedure tform1.pageactive(pagename:tpagecontrol);
var
i:integer;
sheet:ttabsheet;
begin
for i:=0 to pagename.PageCount-1 do
begin
sheet:=pagename.Pages[i];
if sheet=pagename.ActivePage then
sheet.Highlighted:=true
else
sheet.Highlighted:=false;
end;
end;
以下程序在pagechange添加:
procedure tform1.pageactive(pagename:tpagecontrol);
var
i:integer;
sheet:ttabsheet;
begin
for i:=0 to pagename.PageCount-1 do
begin
sheet:=pagename.Pages[i];
if sheet=pagename.ActivePage then
sheet.Highlighted:=true
else
sheet.Highlighted:=false;
end;
end;
好像不行吧,能给个源码看看吧?谢谢
TO cg1120(代码最优化-§雨后看见彩虹……§) 因为我的FORM是加了颜色的,如果PAGECONTROL的标题不加的话,看起来就不美观了
,谢谢
好像不行吧,能给个源码看看吧?谢谢
TO cg1120(代码最优化-§雨后看见彩虹……§) 因为我的FORM是加了颜色的,如果PAGECONTROL的标题不加的话,看起来就不美观了
,谢谢
begin
with TCanvas.Create do
begin
Handle:=GetDC(PageControl1.Handle);
Brush.Color:=clBlue;
Pen.Color:=clRed;
Rectangle(0,0,50,20);
Free;
end;
end;
文字用TextOut输出
我用TEXTOUT时,一排TITLE都被写了,看起来就象一个LABEL谢谢
Brush.Color:=clInfoBk;
FillRect(R);
Pen.Color:=clWhite;
MoveTo(R.Left,R.Bottom-1);
LineTo(R.Left,R.Top);
LineTo(R.Right-1,R.Top);
Pen.Color:=clGray;
MoveTo(R.Left,R.Bottom-1);
LineTo(R.Right-1,R.Bottom-1);
Canvas.LineTo(R.Right-1,R.Top);
Pen.Color:=clBlack;
MoveTo(R.Left-1,R.Bottom);
LineTo(R.Left-1,R.Top-1);
LineTo(R.Right,R.Top-1);
LineTo(R.Right,R.Bottom);
LineTo(R.Left-1,R.Bottom);TextOut可以用很多次,每次都可以定位输出一段文字。(注意底色)剩下的自己动手吧。
Brush.Color:=clInfoBk;
FillRect(R);
Pen.Color:=clWhite;
MoveTo(R.Left,R.Bottom-1);
LineTo(R.Left,R.Top);
LineTo(R.Right-1,R.Top);
Pen.Color:=clGray;
MoveTo(R.Left,R.Bottom-1);
LineTo(R.Right-1,R.Bottom-1);
Canvas.LineTo(R.Right-1,R.Top);
Pen.Color:=clBlack;
MoveTo(R.Left-1,R.Bottom);
LineTo(R.Left-1,R.Top-1);
LineTo(R.Right,R.Top-1);
LineTo(R.Right,R.Bottom);
LineTo(R.Left-1,R.Bottom);TextOut可以用很多次,每次都可以定位输出一段文字。(注意底色)剩下的自己动手吧。
Brush.Color:=clInfoBk;
FillRect(R);
Pen.Color:=clWhite;
MoveTo(R.Left,R.Bottom-1);
LineTo(R.Left,R.Top);
LineTo(R.Right-1,R.Top);
Pen.Color:=clGray;
MoveTo(R.Left,R.Bottom-1);
LineTo(R.Right-1,R.Bottom-1);
Canvas.LineTo(R.Right-1,R.Top);
Pen.Color:=clBlack;
MoveTo(R.Left-1,R.Bottom);
LineTo(R.Left-1,R.Top-1);
LineTo(R.Right,R.Top-1);
LineTo(R.Right,R.Bottom);
LineTo(R.Left-1,R.Bottom);TextOut可以用很多次,每次都可以定位输出一段文字。(注意底色)剩下的自己动手吧。
TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
if Active then Control.Canvas.Font.Color:=clRed;
Control.Canvas.TextOut(rect.left+4,rect.top+4,PageControl1.Pages[TabIndex].Caption);
end;