powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Цвет в PageControl
25 сообщений из 43, страница 1 из 2
Цвет в PageControl
    #37275582
Жорик_8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста как не закрашивать не занятое пространство вкладок в PageControl.

...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275597
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как закрашиваешь ?

P.S. Разноцветные формы - зло.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275609
Жорик_8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
...
 PageControl2.OwnerDraw := True;
 PageControl2.Brush.Color  := RGB( 211 , 231 , 232 );
...

 procedure  TForm2.PageControl2DrawTab(Control: TCustomTabControl;
  TabIndex: Integer;  const  Rect: TRect; Active: Boolean);
 var 
  AText:  string ;
  APoint: TPoint;
 begin 
   with  (Control  as  TPageControl).Canvas  do 
   begin 
    Brush.Color := RGB( 211 , 231 , 232 );
    FillRect(Rect);
    AText := TPageControl(Control).Pages[TabIndex].Caption;
     with  Control.Canvas  do 
     begin 
      APoint.x := (Rect.Right - Rect.Left)  div   2  - TextWidth(AText)  div   2 ;
      APoint.y := (Rect.Bottom - Rect.Top)  div   2  - TextHeight(AText)  div   2 ;
      TextRect(Rect, Rect.Left + APoint.x, Rect.Top + APoint.y, AText);
     end ;
   end ;

 end ;
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275614
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так правильно рисует же вроде, как на рисунке в сабже.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275618
Жорик_8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Там где крестики не надо закрашивать.))
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275621
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жорик_8Там где крестики не надо закрашивать.))Я же и говорю - не закрашивается.
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275623
Жорик_8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам,
Вариант с панелью эт кстати вариант спасибо за подсказку, но цвет содержимого TabSheet такой же как и цвет формы)
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275634
Жорик_8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не, с панелью не прокатило... Даже если BorderWith = 0 в TabSheet все равно остается маленькая полоса.
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275635
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жорик_8> цвет содержимого TabSheet такой же как и цвет формы)

Не понято. С заголовками все как надо, сабж ведь об этом?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275642
Жорик_8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С заголовками все норм... а вот с пространством сверху там где нет вкладок...
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275644
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот же нечетатель, ё-маё. Я привел скнипшот 10697447
"сверху там где нет вкладок" все чисто, не закрашено. Что не так?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275671
Жорик_8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам,

а ты измени цвет формы и сделай тоже что и у меня в примере в коде, и пришли скрин..
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275676
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы конкретно что хотите, чтобы PageControl был прозрачным ?
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275677
Жорик_8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr,

Нет, я хочу чтобы таб, пространство таба были одного цвета, место там где крестики и форма были другого.
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275688
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 type 
THask =  class (TPageControl);
 procedure  TForm1.FormCreate(Sender: TObject);
 begin 
  THask(PageControl1).Color := clBlue;
 end ;

 procedure  TForm1.PageControl1DrawTab(Control: TCustomTabControl;
  TabIndex: Integer;  const  Rect: TRect; Active: Boolean);
 begin 
  Control.Canvas.Brush.Color := clRed;
  Control.Canvas.FillRect(Rect);
 end ;
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275690
Жорик_8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, так.. вот теперь видишь, что пространство справа от красных вкладок тоже окрашивается в синий. Вот это-то и надо убрать.
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275693
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попытка угадать что нужно - № 2. Так ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
TTabSheet =  class (ComCtrls.TTabSheet)
 // Тупо перенесенный код из TCustomControl 
   private 
    FCanvas: TCanvas;
     procedure  WMPaint( var  Message: TWMPaint); message WM_PAINT;
   protected 
     procedure  PaintWindow(DC: HDC); override;
     property  Canvas: TCanvas read FCanvas;
   public 
     constructor  Create(AOwner: TComponent); override;
     destructor  Destroy; override;
 end ;

  TForm1 =  class (TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Panel1: TPanel;
     procedure  PageControl1DrawTab(Control: TCustomTabControl;
      TabIndex: Integer;  const  Rect: TRect; Active: Boolean);
     procedure  FormCreate(Sender: TObject);
   private 
     { Private declarations } 
   public 
     { Public declarations } 
   end ;

 var 
  Form1: TForm1;

 implementation 

 {$R *.dfm} 

 type 
THask =  class (TPageControl);
 procedure  TForm1.FormCreate(Sender: TObject);
 begin 
  THask(PageControl1).Color := clBlue;
 end ;

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

 { TTabSheet } 

 constructor  TTabSheet.Create(AOwner: TComponent);
 begin 
   inherited  Create(AOwner);
  FCanvas := TControlCanvas.Create;
  TControlCanvas(FCanvas).Control := Self;
 end ;

 destructor  TTabSheet.Destroy;
 begin 
  FCanvas.Free;
   inherited  Destroy;
 end ;

 procedure  TTabSheet.PaintWindow(DC: HDC);
 begin 
  FCanvas.Lock;
   try 
    FCanvas.Handle := DC;
     try 
      TControlCanvas(FCanvas).UpdateTextFlags;

      FCanvas.Brush.Color := clRed;
      fCanvas.FillRect(ClientRect);
     finally 
      FCanvas.Handle :=  0 ;
     end ;
   finally 
    FCanvas.Unlock;
   end ;
 end ;

 procedure  TTabSheet.WMPaint( var  Message: TWMPaint);
 begin 
  ControlState := ControlState + [csCustomPaint];
   inherited ;
  ControlState := ControlState - [csCustomPaint];
 end ;
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275699
Жорик_8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr, Нет))
Надо чтобы прямоугольничек который выделен зеленым был одного цвета с формой.

...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275704
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попытка № 3. Так ?
Код: plaintext
1.
2.
3.
4.
THask =  class (TPageControl);
 procedure  TForm1.FormCreate(Sender: TObject);
 begin 
  THask(PageControl1).ParentColor := true;
 end ;
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275706
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жорик_8Надо чтобы прямоугольничек который выделен зеленым был одного цвета с формой.
Так не делайте его другого цвета и он будет цвета формы
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275712
Жорик_8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так в том то и дело что цвет таба и цвет формы должны быть разного цвета. Если б было все так просто я бы сюда не обращался.
Вот, если сделать в paint то должно быть вот так:
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275722
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уберите
Код: plaintext
THask(PageControl1).Color := clBlue;
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275728
Жорик_8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr,
это теоретический ответ или основан на практике?.. если у так получилось выкинь plz скрин если не трудно...
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275731
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жорик_8это теоретический ответ или основан на практике?
Ответ был теоретический, на практике оказалось что теория верна...
...
Рейтинг: 0 / 0
Цвет в PageControl
    #37275736
Жорик_8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr,
все.. спасибки за помощь!!!
...
Рейтинг: 0 / 0
25 сообщений из 43, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Цвет в PageControl
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]