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

Вниз

Как установить свой фонт для контролов при Enabled=false   Найти похожие ветки 

 
bss   (2007-04-16 09:20) [0]

Как установить произвольный шрифт для контрола, когда состояние контрола Enabled=false?


 
Novice   (2007-04-16 09:53) [1]

procedure TForm1.Button1Click(Sender : TObject);
begin
if Button2.Enabled = false then Button2.Font.Name := "Arial";
end;


 
Kolan ©   (2007-04-16 09:57) [2]

> Novice  

Еще же назад надо вернуть :)


 
Novice   (2007-04-16 10:22) [3]

procedure TForm1.Button1Click(Sender : TObject);
begin
if Button2.Enabled = false then Button2.Font.Name := "Arial" else
Button2.Font.Name := "MS Sans Serif";
end;

:)


 
Yanis ©   (2007-04-16 10:39) [4]


> Как установить произвольный шрифт для контрола, когда состояние
> контрола Enabled=false?

Так же как и у компонента у которого состояние Enabled = True.
Не совсем ясно, в чём конкретно загвоздка.


 
bss   (2007-04-16 10:51) [5]

У нескольких контролов сразу


 
Yanis ©   (2007-04-16 11:21) [6]

Примерно так:
var
 i: Integer;
begin
 for i := 0 to ComponentCount - 1 do
   if (Components[i] is TButton) then
     if not (Components[i] as TButton).Enabled then
       (Components[i] as TButton).Font.Name := имя_шрифта;
end;


 
homm ©   (2007-04-16 12:06) [7]

> [6] Yanis ©   (16.04.07 11:21)
> Примерно так:

И когда это вызывать? И как потом назад возвращать?


 
{RASkov}   (2007-04-16 12:52) [8]

> И когда это вызывать?

после смены состояния Enable Controla.
Сделать процедуру, например:

procedure SetFontEn;
var
i: Integer;
begin
for i := 0 to ComponentCount - 1 do
  if (Components[i] is TButton) then
    if (Components[i] as TButton).Enabled then
      (Components[i] as TButton).Font.Name := имя_шрифта else
        (Components[i] as TButton).Font.Name := имя_шрифта;
end;

> И как потом назад возвращать?

Так-же.


 
homm ©   (2007-04-16 13:12) [9]

> после смены состояния Enable Controla.

Это был наводящий вопрос, ответ на который я догадывался. Дак вот 3 раза обратится к RTTI для каждого контролла при каждой смене состояния любого из них — не позволительная роскошь.


 
{RASkov}   (2007-04-16 13:13) [10]

> [9] homm ©   (16.04.07 13:12)

With


 
Yanis ©   (2007-04-16 13:17) [11]


> Дак вот 3 раза обратится к RTTI для каждого контролла при
> каждой смене состояния любого из них — не позволительная
> роскошь.

Да работа с VCL вообще штука страшная.


 
bss   (2007-04-16 13:41) [12]

А если контролы разных типов (TEdit, TButton и т.п.)?


 
{RASkov}   (2007-04-16 13:49) [13]

> [12] bss   (16.04.07 13:41)

Приводи к общему родителю.



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

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

Наверх




Память: 0.49 MB
Время: 0.024 c
15-1178977274
parus
2007-05-12 17:41
2007.06.10
TV Tuner


2-1179826215
pohil
2007-05-22 13:30
2007.06.10
Flash и Dephi


15-1179299898
zdm
2007-05-16 11:18
2007.06.10
Нужен Хэлп


1-1176406354
Tempp
2007-04-12 23:32
2007.06.10
Изменение разрешения экрана с сохранением позиции иконок...


2-1179309426
allucard
2007-05-16 13:57
2007.06.10
Пример на языке С создание окна, помогите перевести строку