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

Вниз

Св-во Enabled у TTabSheet   Найти похожие ветки 

 
Charly   (2003-09-26 23:32) [0]

Работаю с TPageControl. Пишу так:
Tab1.Enabled := false
// Tab1 - объект TTabSheet

Действительно, все контролы на этой вкладке становятся недоступны. Однако, визуально это никак не отражается. Даже Caption у Tab1 как был черный, так он и остается черным, т.е. пользователь может подумать, что эта вкладка доступна.

А хотелось, чтобы цвет Caption"а при Enabled = false сменялся на серый, как у TButton, например.

Как это сделать ?


 
Zergling ©   (2003-09-27 08:43) [1]

OwnerDraw := true;
OnDrawTab

procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
TmpRect: TRect;
begin
TmpRect := Rect;
if TabIndex = 0 then
begin
SetTextColor(Control.Canvas.Handle, clGray);
DrawText(Control.Canvas.Handle, PChar("fffhfhhf"), Length("fffhfhhf"), TmpRect, DT_CENTER);
end else
begin
SetTextColor(Control.Canvas.Handle, clBlack);
DrawText(Control.Canvas.Handle, PChar("fffhfhhf"), Length("fffhfhhf"), TmpRect, DT_CENTER);
end;
end;

Tab1.Visible не подойдет? - раз недоступна, пусть ее и не видно будет.


 
Charly   (2003-09-27 13:50) [2]

Спасибо за OnDraw! Попробую.

А Visible не подойдет, потому что юзер будет думать в таком случае, что этой вкладки вообще нету. Надо именно, чтобы она была недоступна, но видна.
Так что OnDraw - самое то.



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
3-27321
noname666
2003-09-18 16:43
2003.10.09
StringGrid


1-27575
LXj
2003-09-29 09:59
2003.10.09
Исчезновение окна с меню и палитрой компонент


3-27414
NAlexey
2003-09-18 08:53
2003.10.09
Interbase 5.0 - missing registry


14-27742
kopcap
2003-09-19 19:30
2003.10.09
Как запускать CGI скрипты на своём компе ???


8-27613
Вячеслав В.К.
2003-06-06 08:47
2003.10.09
Необходимо получить изображение с USB видеокамеры