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

Вниз

PageControl   Найти похожие ветки 

 
tsarevep ©   (2002-06-23 00:17) [0]

Доброе время суток всем!
Подскажите плиз. Простую задачку решить немогу.
На PageControl несколько вкладок. Надо при активации вкладки выделить синим цветом шрифт только на активной вкладке.
Пишу вот так в событии Activate формы.


PageControl.ActivePage.Font.Color:= clBlue;

Ругаться не ругается, но и ничего не происходит.
С уважением.


 
Новенький в Делфи   (2002-06-23 00:21) [1]

для всех компонентов на PageControl нужно установить ParentFont в true, тогда вроде должно получится теоретически :)


 
tsarevep ©   (2002-06-23 00:38) [2]

Не чего все стало синее!
А вкладка нет.
С уважением.


 
Новенький в Делфи   (2002-06-23 01:21) [3]

..а ты хочешь что бы сама вкладка стала синей?
сам смотрел, но ничего не вышло, ... как я понял, этот компонент не позволяет это сделать напрямую... может если как-то извратиться то и получится но это уже к мастерам :)


 
VID ©   (2002-06-23 01:26) [4]

приведённый код в некоторой степени решает задачу:

procedure TForm1.PageControl1Change(Sender: TObject);
Var I:Integer;
begin
for i:=0 to PageControl1.PageCount - 1 do
PAgeControl1.Pages[i].Highlighted := false;
PAgeControl1.ActivePage.Highlighted := true;
end;


 
Юрий Зотов ©   (2002-06-23 08:54) [5]

Причина, видимо, та же, по которой шрифт обычной кнопки тоже нельзя сделать синим. Дело в том, что Button, PageControl и т.д. - это стандартные системные окна и их рисует сама система, а она делает это так, как ЕЙ нравится.

Но выход, похоже, есть - рисовать закладку самому (событие OnDrawTab).


 
tsarevep ©   (2002-06-23 16:05) [6]

VID спасибо так даже симпотичнее получилось, только вот как это сделать чтоб уже при загрузке программы вкладка такой-же становилось. В activate для формы тоже самое вставил - не получилось.
С уважением.


 
VID ©   (2002-06-23 17:12) [7]

вызывай PageControl1Change(self); при событии form.onshow
Кстати, в Activate ты наверное ставил приведённый мною код, а не вызов PageControl1Change(self), и поэтому наверное не получилось.
я проверил - если в Form.Activate вызвать PageControl1Change(self), то всё работает, но лучше всё-таки на form.onshow


 
tsarevep ©   (2002-06-23 22:42) [8]

Спасибо!
Вообщем так получается только с пустой формой на которой один только PageControl. А у меня там нагружено куча, может что то перехватывает.
С уважением.



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

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

Наверх




Память: 0.48 MB
Время: 0.009 c
3-9755
Garry
2002-06-06 16:23
2002.07.04
Кодировка в FoxPro файлах.


1-9816
alxx
2002-06-21 10:25
2002.07.04
Зачем-то глючат нити... Хотя не должны...


3-9764
onix
2002-06-13 11:13
2002.07.04
Translate error.Value out of bounds. What is this?


1-9794
Sirus
2002-06-23 19:45
2002.07.04
Как распечатать HTML документ из TWebBrowser a????


14-9970
SleD
2002-06-02 14:41
2002.07.04
Вопрос к участникам Spedia