Главная страница
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.029 c
15-1179483530
Эй
2007-05-18 14:18
2007.06.10
Кто угадает


11-1161854783
Thaddy
2006-10-26 13:26
2007.06.10
kolnmck down?


2-1179834805
IgorMish
2007-05-22 15:53
2007.06.10
Как записать картинку в Paradox


9-1153070015
Зм1й
2006-07-16 21:13
2007.06.10
"Вертикальная синхронизация"


2-1179521069
NDF
2007-05-19 00:44
2007.06.10
Глупый Вопрос