Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
1-9820
HitMan
2002-06-24 14:13
2002.07.04
Текст в формате RMA


3-9692
AlexA
2002-06-08 16:58
2002.07.04
IBQuery2.UpdatesPending=true


3-9698
yozhik
2002-06-08 17:08
2002.07.04
Запрет доступа


14-10011
Sniffer
2002-06-02 13:09
2002.07.04
Ура! Вчера Мастаки собрались в Киеве!


3-9754
victor_ch
2002-06-13 10:17
2002.07.04
Ping удаленного адреса и запись в базу результатов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский