![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Свой цвет закладок в PageControl [D6, D7, WinXP]
Malamba © (2005-12-16 10:12:00)Собственно, это весь вопрос.
Как можно сделать свои цвета у закладки?
Нужно рыть в сторону Canvas компонента и далее Brush, или дело глубже и нужно переопределять свойства и методы в своем компоненте, производном от PageControl?
Malamba (2005-12-16 11:42:00) [1]Да, оно, спасибо.
Игорь Шевченко (2005-12-16 11:39:00) [2]У PageControl надо установить в true свойство OwnerDraw
Malamba (2005-12-16 11:28:00) [3]Что-то не пошло. Ставлю свои цвета - ничего не меняется.
Дело не может быть в том, что на форме лежит XPManifest ?
Игорь Шевченко (2005-12-16 10:36:00) [4]Например, так:
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;