Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.018 c
2-1179486498
ambhtr
2007-05-18 15:08
2007.06.10
Как организовать работу case


2-1179733608
=Teddy=
2007-05-21 11:46
2007.06.10
Как загрузить в приложение и проиграть mp3 файл?


15-1177694832
turbouser
2007-04-27 21:27
2007.06.10
Хоккей


2-1179413482
Qazxswedc1
2007-05-17 18:51
2007.06.10
поиск файлов на локальном диске


15-1179465706
vasyl
2007-05-18 09:21
2007.06.10
Вставка в таблицу




   Наверх