BPCPageControl
BPCPageControl - Modified MS Windows page/tab control to support customised colouring of tabs and borders
Language: Delphi 7 - 2007
The standard MS Page/Tab controller does not allow non OS controlled tab and border colouring. This colouring defaults to grey or theme controlled settings. This version does uses the page colours to paint the control tabs and borders. Otherwise it looks and behaves exactly like the standard MS Tab/Page Control.
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, CommCtrl, ComCtrls; type TBPCPageControl = class(TPageControl) private FThickFrame: Boolean; FBPCFrame : Boolean; FFontInactive : TColor; procedure SetThickFrame(const Value: Boolean); procedure SetBPCFrame(const Value: Boolean); protected procedure WndProc(var Msg: TMessage); override; procedure CreateParams(var Params: TCreateParams); override; procedure WMPaint(var Message: TWMPaint); message WM_PAINT; procedure Change; override; public constructor Create(AOwner: TComponent); override; procedure CustomDrawPageControl; published property FontInactive: TColor read FFontInactive write FFontInactive default clGray; property ThickFrame: Boolean read FThickFrame write SetThickFrame default true; property BPCFrame: Boolean read FBPCFrame write SetBPCFrame default True; // property BPCTabStyle: Boolean read FBPCFrame write SetBPCFrame default False; end;