Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TabControl [D6]


Eric ©   (2005-12-14 08:29:00) 

Уважаемые,мастера.
Скажите, как перерисовать TabControl в зависимости,
если все в стиле FlatButtons, когда нажата кнопка, то эта кнопка
перерисосывает шрифт жирным, а не нажатые - остаются с нормальным
стилем шрифта.

Я пытался сделать, но не совсем знаю как.

procedure TMain_f.TabsDrawTab(Control: TCustomTabControl;
 TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
 AText: string;
 r:Trect;
begin
with Control.Canvas do
begin
Control.Canvas.Brush.Color:=clbtnface;
Control.Canvas.FillRect(rect);
AText:=TTabControl(Control).Tabs[TabIndex];
{textout(rect.Left+2,rect.Top+2,atext);  }
end;
with (Control as TCustomTabControl).Canvas do
begin
AText:=TTabControl(Control).Tabs[TabIndex];
(Control as TCustomTabControl).Canvas.Font.Style:=[];
textout(rect.Left+2,rect.Top+2,atext);    
DrawTextEx(Control.Canvas.Handle, pchar(Atext),
  length(atext), r, DT_WORD_ELLIPSIS, nil);
end;
if TabIndex < Tabs.Tabs.Count then
if Active = true then
if (Control as TCustomTabControl).Focused = true then
begin
if Application.MainForm.MDIChildCount > 0 then
AText:=TTabControl(Control).Tabs[TabIndex];
with (Control as TCustomTabControl).Canvas do
begin
(Control as TCustomTabControl).Canvas.Font.Style:=[fsbold];
AText:=TTabControl(Control).Tabs[TabIndex];
textout(rect.Left+2,rect.Top+2,atext);
DrawTextEx(Control.Canvas.Handle, pchar(Atext),
length(atext), r, DT_WORD_ELLIPSIS, nil);
end;
end;


Eric   (2005-12-14 20:55:00) [1]

надо чтобы нажатое состояние для одного tab выделяло кнопку жирным,
а для остальных tab кнопки в ненажатом состоянии были с обыкновенным шрифтом,
как в 1С Бухгалтерии.


umbra   (2005-12-14 10:11:00) [2]

а чего добиться то надо?


Наверх

Титульная страница Поиск, карта сайта Написать письмо