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

Вниз

Цвет шрифта и фон заголовков TPageControl в Windows 7 x64   Найти похожие ветки 

 
HF-Trade ©   (2011-01-21 10:31) [0]

Как изменить сабж?

В ХР Все работало отменно.
Работало так -

procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;  TabIndex: Integer; Const Rect: TRect; Active: Boolean);
begin
PageControl1.Canvas.Brush.Color := clBlack;
PageControl1.Canvas.FillRect(Rect);
PageControl1.Font.Color := clWhite;
PageControl1.Canvas.TextOut(Rect.TopLeft.X + 6,Rect.TopLeft.Y + 3, PageControl1.Pages[TabIndex].Caption);
end;

В Win7 событие OnDrawTab вообще не обрабатывается

Попробовал вот таким образом -

procedure TMainForm.Button1Click(Sender: TObject);
var
Rect: TRect;
I, OldBkMode: Integer;
begin
For I := 0 to PageControl1.PageCount - 1 do
 Begin
  Rect := PageControl1.TabRect(I);
  PageControl1.Canvas.Brush.Color := clBlack;
  PageControl1.Canvas.FillRect(Rect);
  PageControl1.Font.Color := clWhite;
  OldBkMode := SetBkMode(PageControl1.Canvas.Handle, TRANSPARENT);
  MainPC.Canvas.TextOut(Rect.TopLeft.X + 6, Rect.TopLeft.Y + 3, PageControl1.Pages[I].Caption);
  SetBkMode(PageControl1.Canvas.Handle, OldBkMode);
end;
end;

В результате -
Заголовки закладок заливаются, но цвет текста Caption"ов не меняется.
К тому же при наведении на заголовок, фон изменяется на начальный.


 
HF-Trade ©   (2011-01-21 10:34) [1]

MainPC - TPageControl1(не обращяйте внимания - корректировал сообщение, и забыл поправить...)



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

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

Наверх




Память: 0.46 MB
Время: 0.012 c
2-1295432083
Scott Storch
2011-01-19 13:14
2011.04.24
упростить алгоритм TStrings.SetDelimiterText


2-1295537929
Айнур
2011-01-20 18:38
2011.04.24
Вопрос по Edit


2-1295347887
Mops
2011-01-18 13:51
2011.04.24
Использование интерфейсов


15-1294513990
Dimka Maslov
2011-01-08 22:13
2011.04.24
Ошибка в Delphi 2009


15-1294834077
George
2011-01-12 15:07
2011.04.24
TIdHTTP.Get и Windows 7