![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Цвет шрифта и фон заголовков TPageControl в Windows 7 x64 [D7]
HF-Trade © (2011-01-21 10:31:00)Как изменить сабж?
В ХР Все работало отменно.
Работало так -
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:00) [1]MainPC - TPageControl1(не обращяйте внимания - корректировал сообщение, и забыл поправить...)