Главная страница
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.022 c
3-41034
Дмитрий К.
2003-10-15 11:28
2003.11.13
Отображение хода выполнения запроса


7-42145
Эдуард
2003-09-03 17:29
2003.11.13
Как корректно (!) не дать приложению закрыться


14-42111
Djoniki
2003-10-22 20:55
2003.11.13
ПОМОГИТЕ!!!!!!!!!


14-42120
otido
2003-10-21 10:56
2003.11.13
странные глюки с локалкой, помогите плиз...


1-41618
Dkl
2003-10-23 12:56
2003.11.13
Delphi&Excel