Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

Почему неправильно рисуется PageControl?   Найти похожие ветки 

 
Aleksandr ©   (2003-10-30 13:09) [0]

Перекрыл отрисовку закладок у PageControl:


procedure TPropertyForm.PageControlDrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
x, y : integer;
Col : TColor;
s : string;
begin
with TPageControl(Control) do begin
Canvas.FillRect(Rect);
if Active then begin
Canvas.Brush.Color:=clWhite;
Canvas.Font.Color:=clBlue
end;
s:=Pages[TabIndex].Caption;
x:=Rect.Left+((Rect.Right-Rect.Left-Canvas.TextWidth(s)) div 2);
y:=Rect.Top+((Rect.Bottom-Rect.Top-Canvas.TextHeight("A")) div 2);
Col:=Canvas.Pen.Color;
Canvas.Pen.Color:=Canvas.Brush.Color;
Canvas.RoundRect(Rect.Left+1,Rect.Top+1,Rect.Right-1,Rect.Bottom-1,3,3);
Canvas.Pen.Color:=Col;
Canvas.TextOut(x,y,s)
end
end;


И теперь он у меня на всех закладках рисует текст активной закладки. Что я тут неправильно наделал?


 
Sandman25 ©   (2003-10-30 13:11) [1]

with TPageControl(Control) do begin
Canvas.FillRect(Rect);
if Active then begin

означает, что используется TPageControl(Control).Active, а не параметр процедуры.


 
Sandman25 ©   (2003-10-30 13:13) [2]

Нет, я соврал. Попробуйте присваивать не Canvas.Font, а просто Font.


 
Song ©   (2003-10-30 13:13) [3]

Это пример как необдуманно использовать With. TabIndex у тебя берётся как проперти TPageControl, а не как параметр, пришедший в обработчик.


 
Sandman25 ©   (2003-10-30 13:14) [4]

Если не поможет, добавтье ветвь else и в ней присваивайте другие значения.


 
афвуд ©   (2003-10-30 13:55) [5]

Можно вопрос в тему?

Рисую на канве этого PageControl. Потом говорю ему - перерисуйся(Repaint(), Invalidate(), щас буду пробовать послать ему виндовое сообщение на перерисовку). А он, блин, не стирает всё то, что я на нём нарисовал. Почему?



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.071 c
1-41617
race1
2003-10-25 15:21
2003.11.13
region


1-41550
GIL
2003-10-27 17:29
2003.11.13
немигающая картинка


1-41625
SkyRanger
2003-10-26 11:40
2003.11.13
Динамические массивы


8-41732
Avgurin
2003-07-18 09:19
2003.11.13
Размер JPEG


1-41504
Talla2k
2003-10-28 12:56
2003.11.13
Delphi and Excel