Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.05.2011, 20:19
BuTeK22 BuTeK22 вне форума
Прохожий
 
Регистрация: 27.02.2011
Сообщения: 39
Репутация: 10
По умолчанию Как заставить меняться цвет у label

Здравствуйте!
Помогите кто знает как!! Нужно чтоб текст в label менялся в зависимости от слова которое в нем. У меня получилось сделать с одним label, а вот с двумя, тремя и т.д. я незнаю как!!
Вот так я делал для одного label:

Код:
if label1.caption='Сдал' then
label1.font.Color:=Clgreen;
if label1.Caption='Не сдал' then
label1.Font.Color:=clred;
if label1.Caption='Начал делать' then
label1.Font.Color:=clBlue;

Последний раз редактировалось lmikle, 09.05.2011 в 23:44.
Ответить с цитированием
  #2  
Старый 09.05.2011, 20:40
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

точно также для Label2,3,...
Но это если лейблов 1-3 штуки. Если больше, лучше их создавать динамически (см. гугл) или же через FindComponent.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #3  
Старый 09.05.2011, 22:52
BuTeK22 BuTeK22 вне форума
Прохожий
 
Регистрация: 27.02.2011
Сообщения: 39
Репутация: 10
По умолчанию

Цитата:
Сообщение от Bargest
точно также для Label2,3,...
Но это если лейблов 1-3 штуки. Если больше, лучше их создавать динамически (см. гугл) или же через FindComponent.

label у меня будет 13 штук, поэтому хотелось бы как нибудь подругому!
Если есть способ, то распешите пожалуйста по подробней!
Ответить с цитированием
  #4  
Старый 10.05.2011, 01:00
Raskolnikov Raskolnikov вне форума
Прохожий
 
Регистрация: 20.04.2011
Адрес: Киров
Сообщения: 35
Версия Delphi: 7 Enterprise
Репутация: 148
По умолчанию

А правила выбора цвета одинаковы для всех Label? Если так, то:
Код:
var
  i: Integer;
begin
  for i:= 0 to ComponentCount- 1 do
    if Components[i] is TLabel then
      with (Components[i] as TLabel) do
      begin
        if Caption = 'Сдал' then
          Font.Color:= clGreen;
        if Caption = 'Не сдал' then
          Font.Color:= clRed;
        if Caption = 'Начал делать' then
          Font.Color:= clBlue;
      end; { with }
end;
Ответить с цитированием
  #5  
Старый 10.05.2011, 18:32
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Как я уже сказал, динамическое создание. Руки не отвалились еще настраивать 13 разных лейбелов? =) я так не могу...
По динамическому созданию полно статей, и в том числе на этом форуме. Однако повторю в очередной раз:
Код:
Var lbl: array[0..12] of TLabel;
...
//Создание:
for i:=0 to 12 do
begin
 lbl[i]:=TLabel.Create({не помню, есть ли тут что, если есть, то Form1});
 lbl[i].Parent:=Form1;
 lbl[i].Top:=i*20;
 lbl[i].Left:=0;
 lbl[i].Caption:='123';
end;
...
//Меняем все:
for i:=0 to 12 do
begin
if lbl[i].Caption='Сдал' then
блаблаблаблаблабла...
end;
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #6  
Старый 10.05.2011, 22:05
BuTeK22 BuTeK22 вне форума
Прохожий
 
Регистрация: 27.02.2011
Сообщения: 39
Репутация: 10
По умолчанию

Спасибо всем большое!!!! Все получилось!!!!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:57.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter