Главная страница
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.009 c
2-1295347887
Mops
2011-01-18 13:51
2011.04.24
Использование интерфейсов


2-1295606184
LDV
2011-01-21 13:36
2011.04.24
выделить из списка цепочки


15-1294985178
Медвежонок ХМЛ
2011-01-14 09:06
2011.04.24
УЭК


15-1294650746
Palladin
2011-01-10 12:12
2011.04.24
Автоскролл при нажатии на колесо мыши


2-1295504959
Novi4ok1992
2011-01-20 09:29
2011.04.24
Выбор языка интерфейса в программе