Главная страница
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.028 c
1-41174
saNat
2003-11-03 02:51
2003.11.13
Компонент TEdit


8-41762
Zorik
2003-06-26 16:30
2003.11.13
Как отобразить большой Bitmap на PaintBox.Canvas (100-200 Mb)


1-41187
Pattern
2003-11-02 15:04
2003.11.13
О констукорах и деструкторах компанент


1-41717
willys
2003-11-03 16:58
2003.11.13
работа с мат. выражениями


3-40953
AtoL
2003-10-17 12:20
2003.11.13
Прогресс выполнения запроса.