pagecontrol控件着色 请问如果把pagecontrol这个控件动态染色(或者只将其中的tabsheet染色)且不影响到其它功能的使用?我在它的属性中找不到color这个属性,我用的是Delphi6. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.torry.net/pagecontrols.htm会有你需要的组件的change the color of a TPageControls?Author:Peter BelowtypeTTabSheet = class(ComCtrls.TTabSheet)privateFColor: TColor;procedure SetColor(Value: TColor);procedure WMEraseBkGnd(var Msg: TWMEraseBkGnd);message WM_ERASEBKGND;publicconstructor Create(aOwner: TComponent); override;property Color: TColor read FColor write SetColor;end;{...}implementation{...}constructor TTabSheet.Create(aOwner: TComponent);begininherited;FColor := clBtnFace;end;procedure TTabSheet.SetColor(Value: TColor);beginif FColor Value thenbeginFColor := Value;Invalidate;end;end;procedure TTabSheet.WMEraseBkGnd(var Msg: TWMEraseBkGnd);beginif FColor = clBtnFace theninheritedelsebeginBrush.Color := FColor;Windows.FillRect(Msg.dc, ClientRect, Brush.Handle);Msg.Result := 1;end;end;procedure TForm1.FormCreate(Sender: TObject);beginTabsheet1.Color := clWhite;TabSheet2.Color := clLime;end;// PageControl1.OwnerDraw := true !procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;TabIndex: Integer; const Rect: TRect; Active: Boolean);varAText: string;APoint: TPoint;beginwith (Control as TPageControl).Canvas dobeginBrush.Color := clred;FillRect(Rect);AText := TPageControl(Control).Pages[TabIndex].Caption;with Control.Canvas dobeginAPoint.x := (Rect.Right - Rect.Left) div 2 - TextWidth(AText) div 2;APoint.y := (Rect.Bottom - Rect.Top) div 2 - TextHeight(AText) div 2;TextRect(Rect, Rect.Left + APoint.x, Rect.Top + APoint.y, AText);end;end;end; 我知道的跟楼上一样;^_^;超级猛料里头的;^_^就不重复CTRL V了;^_^; 只用这段代码行吗?// PageControl1.OwnerDraw := true !procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;TabIndex: Integer; const Rect: TRect; Active: Boolean);varAText: string;APoint: TPoint;beginwith (Control as TPageControl).Canvas dobeginBrush.Color := clred;FillRect(Rect);AText := TPageControl(Control).Pages[TabIndex].Caption;with Control.Canvas dobeginAPoint.x := (Rect.Right - Rect.Left) div 2 - TextWidth(AText) div 2;APoint.y := (Rect.Bottom - Rect.Top) div 2 - TextHeight(AText) div 2;TextRect(Rect, Rect.Left + APoint.x, Rect.Top + APoint.y, AText);end;end;end; 基础知识请教 封包HOOK问题--解决者500分相送 如何让程序运行时不显示在桌面和任务栏上,而显示在状态上 怎样显示图片,用NMFTP控件把图片下载后,怎么把它显示出来 提示出现 stream read error 有时候会有时候不会! 如何建立本地数据缓冲?让经常使用和不频繁修改的数据在本地内存读取? 哪里有Quick Report 3.6.2 professional下载? 多数据源问题,即对即给分 能访问另一台电脑的桌面版的SQL吗? 关于dll的参数是对象的问题 delphi怎样去读auto cad 中的dwg文件的宽、高等信息 数组归并
会有你需要的组件的change the color of a TPageControls?Author:Peter BelowtypeTTabSheet = class(ComCtrls.TTabSheet)privateFColor: TColor;procedure SetColor(Value: TColor);procedure WMEraseBkGnd(var Msg: TWMEraseBkGnd);message WM_ERASEBKGND;publicconstructor Create(aOwner: TComponent); override;property Color: TColor read FColor write SetColor;end;{...}implementation{...}constructor TTabSheet.Create(aOwner: TComponent);begininherited;FColor := clBtnFace;end;procedure TTabSheet.SetColor(Value: TColor);beginif FColor Value thenbeginFColor := Value;Invalidate;end;end;procedure TTabSheet.WMEraseBkGnd(var Msg: TWMEraseBkGnd);beginif FColor = clBtnFace theninheritedelsebeginBrush.Color := FColor;Windows.FillRect(Msg.dc, ClientRect, Brush.Handle);Msg.Result := 1;end;end;procedure TForm1.FormCreate(Sender: TObject);beginTabsheet1.Color := clWhite;TabSheet2.Color := clLime;end;// PageControl1.OwnerDraw := true !procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;TabIndex: Integer; const Rect: TRect; Active: Boolean);varAText: string;APoint: TPoint;beginwith (Control as TPageControl).Canvas dobeginBrush.Color := clred;FillRect(Rect);AText := TPageControl(Control).Pages[TabIndex].Caption;with Control.Canvas dobeginAPoint.x := (Rect.Right - Rect.Left) div 2 - TextWidth(AText) div 2;APoint.y := (Rect.Bottom - Rect.Top) div 2 - TextHeight(AText) div 2;TextRect(Rect, Rect.Left + APoint.x, Rect.Top + APoint.y, AText);end;end;end;
// PageControl1.OwnerDraw := true !procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;TabIndex: Integer; const Rect: TRect; Active: Boolean);varAText: string;APoint: TPoint;beginwith (Control as TPageControl).Canvas dobeginBrush.Color := clred;FillRect(Rect);AText := TPageControl(Control).Pages[TabIndex].Caption;with Control.Canvas dobeginAPoint.x := (Rect.Right - Rect.Left) div 2 - TextWidth(AText) div 2;APoint.y := (Rect.Bottom - Rect.Top) div 2 - TextHeight(AText) div 2;TextRect(Rect, Rect.Left + APoint.x, Rect.Top + APoint.y, AText);end;end;end;