Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.22;
Скачать: CL | DM;

Вниз

Свой цвет закладок в PageControl   Найти похожие ветки 

 
Malamba   (2005-12-16 10:12) [0]

Собственно, это весь вопрос.
Как можно сделать свои цвета у закладки?

Нужно рыть в сторону Canvas компонента и далее Brush, или дело глубже и нужно переопределять свойства и методы в своем  компоненте, производном от PageControl?


 
Игорь Шевченко ©   (2005-12-16 10:36) [1]

Например, так:

procedure TfMain.PageControl1DrawTab(Control: TCustomTabControl;
 TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
 S: string;
 ARect : TRect;
 TabSheet : TTabSheet;
begin
 with PageControl1.Canvas do begin
   if Active then
     Brush.Color := GetNearestColor(Handle, $00F7FFFF)
   else
     Brush.Color := GetNearestColor(Handle, clSilver);
   FillRect(Rect);
   TabSheet := PageControl1.Pages[TabIndex];
   if TabSheet.Enabled then
     Font.Color := clWindowText
   else
     Font.Color := clAppWorkSpace;
   S := PageControl1.Pages[TabIndex].Caption;
   Windows.CopyRect(ARect,Rect);
   DrawText(Handle, PChar(S), Length(S), ARect,
     DT_CENTER or DT_VCENTER or DT_SINGLELINE);
 end;
end;


 
Malamba   (2005-12-16 11:28) [2]

Что-то не пошло. Ставлю свои цвета - ничего не меняется.

Дело не может быть в том, что на форме лежит XPManifest ?


 
Игорь Шевченко ©   (2005-12-16 11:39) [3]

У PageControl надо установить в true свойство OwnerDraw


 
Malamba   (2005-12-16 11:42) [4]

Да, оно, спасибо.



Страницы: 1 вся ветка

Текущий архив: 2006.01.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
6-1128616981
Gall
2005-10-06 20:43
2006.01.22
WinSock2


14-1135465488
Bakset
2005-12-25 02:04
2006.01.22
Вопрос про сервисы для гуру...


14-1135763190
Igorek
2005-12-28 12:46
2006.01.22
Операции над "двоичными строками"


14-1135714958
Volf_555
2005-12-27 23:22
2006.01.22
Как в Turbo Pascal вывести на экран разноцветные окна?!!!!!


14-1133813568
Rouse_
2005-12-05 23:12
2006.01.22
Новогодний MMP (Совместный)