如果它足夠讓你獲得一個有點棘手的解決方案與主題只能在Windows上工作禁用然後嘗試以下方法:
取消選中從Project/Project Options ...
項目Use manifest file to enable themes (Windows only)
選項設置對話框,並將下面的代碼粘貼到您的設備頁面控制。它使用插入的類,所以它只能在你粘貼這個代碼的單元中工作。
uses
ComCtrls, Windows, LCLType;
type
TPageControl = class(ComCtrls.TPageControl)
private
procedure CNDrawItem(var Message: TWMDrawItem); message WM_DRAWITEM;
protected
procedure CreateParams(var Params: TCreateParams); override;
end;
implementation
procedure TPageControl.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
begin
if not (csDesigning in ComponentState) then
Style := Style or TCS_OWNERDRAWFIXED;
end;
end;
procedure TPageControl.CNDrawItem(var Message: TWMDrawItem);
var
BrushHandle: HBRUSH;
BrushColor: COLORREF;
begin
with Message.DrawItemStruct^ do
begin
case itemID of
0: BrushColor := RGB(235, 24, 33);
1: BrushColor := RGB(247, 200, 34);
2: BrushColor := RGB(178, 229, 26);
else
BrushColor := ColorToRGB(clBtnFace);
end;
BrushHandle := CreateSolidBrush(BrushColor);
FillRect(hDC, rcItem, BrushHandle);
SetBkMode(hDC, TRANSPARENT);
DrawTextEx(hDC, PChar(Page[itemID].Caption), -1, rcItem, DT_CENTER or
DT_VCENTER or DT_SINGLELINE, nil);
end;
Message.Result := 1;
end;
這裏是如何的樣子(醜陋:)

您好,我不知道我明白你的問題。您是否嘗試過使用'TTabControl'?它發佈了所需的「OnDrawTab」事件。拉撒路從德爾福有不同的'TPageControl'祖先。 – TLama 2012-02-20 14:03:14
我想做這樣的事情[例子] http://imgur.com/cNMko – user1174918 2012-02-21 09:46:41
這真的很棒@TLama .....對我想做的事情沒問題。非常感激。 – user1174918 2012-02-22 08:43:16