大家好:
在WINDOWS XP系統中,用下面的代碼可以更改pagecontrol標簽顏色。代碼如下:
procedure TfrmPMCDCD.PageControl2DrawTab(Control: TCustomTabControl;。
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
C: TCanvas;
R: TRect;
mCaption: string;
mPtr: integer;
mPos: integer;
begin
R := Rect;
C := PageControl2.Canvas;
if Active then
begin
R.Top := R.Top + 2;
R.Left := R.Left + 2;
R.Right := R.Right - 2;
R.Bottom := R.Bottom - 2;
C.Font.Color := clCaptionText;
C.Font.Style := C.Font.Style + [fsBold];
C.Brush.Color := clActiveCaption;
end
else
begin
C.Font.Color := clInActiveCaptionText;
C.Font.Style := C.Font.Style - [fsBold];
C.Brush.Color := clInActiveCaption;
end;
FillRect(C.Handle,R,C.Brush.Handle);
if not Active then
R.Top := R.Top + 2;
mPos := TabIndex;
mPtr := 0;
while (mPtr <= TabIndex) and (mPos < PageControl2.PageCount) do
begin
if not PageControl2.Pages[mPtr].TabVisible then
Inc(mPos);
Inc(mPtr);
end;
mCaption := PageControl2.Pages[mPos].Caption;
C.FillRect(Rect);
C.TextOut(Rect.Left+6,Rect.Top+2,mCaption);
end;
但在WINDOWS 7 中無法改變。不知道是那里出問題。效果見下圖。
uj5u.com熱心網友回復:
效果圖如下:
,如何修改程式,可以使軟體在WINDOWS 7 中也可以顯示PageControl標簽及顏色。謝謝大家!
uj5u.com熱心網友回復:
很奇怪的問題 呀uj5u.com熱心網友回復:
確實存在這個現象uj5u.com熱心網友回復:
我也遇到同樣問題,頂一個uj5u.com熱心網友回復:
測驗環境:Windows 2008 R2 + Delphi 20101、默認情況下:

2、修改PageControl的OwenDraw屬性為True,效果如下:
uj5u.com熱心網友回復:
樓上的,你能把字體變成紅色嗎uj5u.com熱心網友回復:

是上面這個效果???
那就是改一下“C.Font.Color := clCaptionText;”,改成“C.Font.Color := clRed;”
uj5u.com熱心網友回復:
那就是改一下“C.Font.Color := clCaptionText;”,改成“C.Font.Color := clRed;”uj5u.com熱心網友回復:
呵呵,用第三方,不就帶了此功能啊uj5u.com熱心網友回復:
還是使用AlphaControls美化一下皮膚吧,你的界面真心難看http://download.csdn.net/detail/wozengcong/6595205
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/121119.html
標籤:VCL組件開發及應用
下一篇:請問關于打包的問題
