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

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

PageControl [D6]


ATLANTIDO ©   (2002-04-17 19:05:00) 

Как исовать на панелях и закладках PаgeControl ? Например, окрасить в черный цвет ?


ATLANTIDO   (2002-04-19 21:22:00) [1]

Большое спасибо !


Andrey007   (2002-04-19 09:10:00) [2]

Изменение цвета панели:
TabSheet.Brush.Color := xxx;
TabSheet.Refresh;

Рисование на закладке:

PageControl.OwnerDraw := True;
PageControl.OnDrawTab:=PageControlDrawTab;

procedure TForm1.PageControlDrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
lpRect: TRect;
begin
lpRect := Rect;
if TabIndex = n then
begin
Control.Canvas.Brush.Color := 255;
Control.Canvas.FillRect(Rect);
end;
DrawText(Control.Canvas.Handle, PChar(TPageControl(Control).Pages[TabIndex].Caption),
-1, lpRect, DT_CENTER or DT_VCENTER or DT_SINGLELINE);
end;


unfam   (2002-04-19 01:43:00) [3]

Свойство OwnerDraw выставляешь в True. Затем что-то вроде:

procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
if Active then
begin
Control.Canvas.Brush.Color:=clRed;
Control.Canvas.FillRect(Rect);
end
else
begin
Control.Canvas.Brush.Color:=clBlack;
Control.Canvas.FillRect(Rect);
end
end;


ATLANTIDO   (2002-04-18 20:27:00) [4]

Ладно, с панелями tabsheet еще можно подумать , размещать на них Image. А как с самими закладками быть ?


ATLANTIDO   (2002-04-17 23:24:00) [5]

Так как на закладках рисовать ?


ATLANTIDO   (2002-04-17 19:41:00) [6]

Закрашивать панели


Song   (2002-04-17 19:19:00) [7]

А что Вы хотите этим кодом добиться?


ATLANTIDO   (2002-04-17 19:16:00) [8]


procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
PageControl1.Canvas.Brush.Color:=$00ffabcd;
PageControl1.Canvas.FillRect(Rect);
end;

Приведеный выше код не дает результата


Song   (2002-04-17 19:12:00) [9]

Через Canvas или Handle


ATLANTIDO   (2002-04-17 19:10:00) [10]

P.S. "рисовать"


Наверх

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