pagecontrol问题,相当于散分 怎么才能改变PAGECONTROL上tabsheet的标题颜色,难道非得设置自定义draw然后自己写代码吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls;type TMainForm = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; Memo1: TMemo; Edit1: TEdit; Button1: TButton; TabSheet3: TTabSheet; procedure PageControl1Changing(Sender: TObject; var AllowChange: Boolean); procedure PageControl1DrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;var MainForm: TMainForm; i: Integer;implementation{$R *.dfm}procedure TMainForm.PageControl1Changing(Sender: TObject; var AllowChange: Boolean);var pt: TPoint;begin GetCursorPos(pt); pt := PageControl1.ScreenToClient(pt); if PageControl1.IndexOfTabAt(pt.X, pt.Y ) = 1 then AllowChange := False;end;procedure TMainForm.PageControl1DrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean);var rt: TRect;begin with PageControl1.Canvas do begin rt := Rect; Brush.Color := clBtnFace; FillRect(rt); if TabIndex = 1 then Font.Color := clGrayText; DrawText(Handle, PChar(PageControl1.Pages[TabIndex].Caption), -1, rt, DT_CENTER or DT_VCENTER); end; end;procedure TMainForm.FormCreate(Sender: TObject);begin PageControl1.OwnerDraw := True;end;end. 在熟悉一遍:)procedure TMainForm.PageControl1Changing(Sender: TObject; var AllowChange: Boolean);var pt: TPoint;begin GetCursorPos(pt); pt := PageControl1.ScreenToClient(pt); if PageControl1.IndexOfTabAt(pt.X, pt.Y ) = 1 then AllowChange := False;end;procedure TMainForm.PageControl1DrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean);var rt: TRect;begin with PageControl1.Canvas do begin rt := Rect; Brush.Color := clBtnFace; FillRect(rt); if TabIndex = 1 then Font.Color := clGrayText; DrawText(Handle, PChar(PageControl1.Pages[TabIndex].Caption), -1, rt, DT_CENTER or DT_VCENTER); end; end;procedure TMainForm.FormCreate(Sender: TObject);begin PageControl1.OwnerDraw := True;end;end.procedure TMainForm.PageControl1Changing(Sender: TObject; var AllowChange: Boolean);var pt: TPoint;begin GetCursorPos(pt); pt := PageControl1.ScreenToClient(pt); if PageControl1.IndexOfTabAt(pt.X, pt.Y ) = 1 then AllowChange := False;end;procedure TMainForm.PageControl1DrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean);var rt: TRect;begin with PageControl1.Canvas do begin rt := Rect; Brush.Color := clBtnFace; FillRect(rt); if TabIndex = 1 then Font.Color := clGrayText; DrawText(Handle, PChar(PageControl1.Pages[TabIndex].Caption), -1, rt, DT_CENTER or DT_VCENTER); end; end;procedure TMainForm.FormCreate(Sender: TObject);begin PageControl1.OwnerDraw := True;end;end. 讨论:词库检索系统 求一条SQL语句 高手帮忙啊!关于插入数据库的问题!急急!菜鸟提问! 哪本书详细讲到FindFirst和FindNext查找文件??? 有starteam2005R2下载吗? rzdbedit连接数据字段出错 怎样解决 怎么知道TADOQuery的返回值类型(高分) 一个难题,求算。,高手请进,有关树的递归??? 请问如何在ListBox中插入一个空行?谢谢赐教 关于打印的问题 大家来谈谈Delphi中使用ADO时经验和常见的一些错误(散分) 哪能下载<pascal程序设计>这本书
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;type
TMainForm = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Memo1: TMemo;
Edit1: TEdit;
Button1: TButton;
TabSheet3: TTabSheet;
procedure PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
procedure PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
MainForm: TMainForm;
i: Integer;implementation{$R *.dfm}procedure TMainForm.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
var
pt: TPoint;
begin
GetCursorPos(pt);
pt := PageControl1.ScreenToClient(pt);
if PageControl1.IndexOfTabAt(pt.X, pt.Y ) = 1 then
AllowChange := False;
end;procedure TMainForm.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
rt: TRect;
begin
with PageControl1.Canvas do
begin
rt := Rect;
Brush.Color := clBtnFace;
FillRect(rt);
if TabIndex = 1 then
Font.Color := clGrayText;
DrawText(Handle, PChar(PageControl1.Pages[TabIndex].Caption),
-1, rt, DT_CENTER or DT_VCENTER);
end;
end;procedure TMainForm.FormCreate(Sender: TObject);
begin
PageControl1.OwnerDraw := True;
end;end.
procedure TMainForm.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
var
pt: TPoint;
begin
GetCursorPos(pt);
pt := PageControl1.ScreenToClient(pt);
if PageControl1.IndexOfTabAt(pt.X, pt.Y ) = 1 then
AllowChange := False;
end;procedure TMainForm.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
rt: TRect;
begin
with PageControl1.Canvas do
begin
rt := Rect;
Brush.Color := clBtnFace;
FillRect(rt);
if TabIndex = 1 then
Font.Color := clGrayText;
DrawText(Handle, PChar(PageControl1.Pages[TabIndex].Caption),
-1, rt, DT_CENTER or DT_VCENTER);
end;
end;procedure TMainForm.FormCreate(Sender: TObject);
begin
PageControl1.OwnerDraw := True;
end;end.procedure TMainForm.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
var
pt: TPoint;
begin
GetCursorPos(pt);
pt := PageControl1.ScreenToClient(pt);
if PageControl1.IndexOfTabAt(pt.X, pt.Y ) = 1 then
AllowChange := False;
end;procedure TMainForm.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
rt: TRect;
begin
with PageControl1.Canvas do
begin
rt := Rect;
Brush.Color := clBtnFace;
FillRect(rt);
if TabIndex = 1 then
Font.Color := clGrayText;
DrawText(Handle, PChar(PageControl1.Pages[TabIndex].Caption),
-1, rt, DT_CENTER or DT_VCENTER);
end;
end;procedure TMainForm.FormCreate(Sender: TObject);
begin
PageControl1.OwnerDraw := True;
end;end.