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

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

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

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
23.05.2011, 23:55:44
    #37275609
Жорик_8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цвет в PageControl
Код: 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
23.05.2011, 23:59:50
    #37275614
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цвет в PageControl
Так правильно рисует же вроде, как на рисунке в сабже.

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

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

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

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

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

Нет, я хочу чтобы таб, пространство таба были одного цвета, место там где крестики и форма были другого.
...
Рейтинг: 0 / 0
24.05.2011, 01:57:52
    #37275688
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цвет в PageControl
Так ?
Код: 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
24.05.2011, 02:03:08
    #37275690
Жорик_8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цвет в PageControl
Так, так.. вот теперь видишь, что пространство справа от красных вкладок тоже окрашивается в синий. Вот это-то и надо убрать.
...
Рейтинг: 0 / 0
24.05.2011, 02:09:34
    #37275693
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цвет в PageControl
Попытка угадать что нужно - № 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
24.05.2011, 02:23:21
    #37275699
Жорик_8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цвет в PageControl
DimaBr, Нет))
Надо чтобы прямоугольничек который выделен зеленым был одного цвета с формой.

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


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