Otomatik Label rengi değiştirmek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Otomatik Label rengi değiştirmek
Arkadaşlar merhaba,
Elimde 10 tane Label var. (L0..L9)
Combobox'a da 10 adet item ekledim.
örneğin combobox.itemindex 0 olduğunda L0 font rengi sarı olacak, itemindex 2 olarak değiştiğinde L2 sarı olacak fakat L0 tekrar siyaha dönecek.
Bunu nasıl uygulayabilirim. iç içe if kullandığımda uygulayabiliyorum ama kodum çok uzuyor. bunu döngüye sokabilir miyim?
Teşekkürler
Elimde 10 tane Label var. (L0..L9)
Combobox'a da 10 adet item ekledim.
örneğin combobox.itemindex 0 olduğunda L0 font rengi sarı olacak, itemindex 2 olarak değiştiğinde L2 sarı olacak fakat L0 tekrar siyaha dönecek.
Bunu nasıl uygulayabilirim. iç içe if kullandığımda uygulayabiliyorum ama kodum çok uzuyor. bunu döngüye sokabilir miyim?
Teşekkürler
Re: Otomatik Label rengi değiştirmek
benim ilk alıma gelen yöntem:
Kod: Tümünü seç
L0.Color := BaslangicRengi;
L1.Color := BaslangicRengi;
//...
L9.Color := BaslangicRengi;
case Combobox.ItemIndex of
0 : L0.Color := clYellow;
1 : L1.Color := clYellow;
//...
9 : L9.Color := clYellow;
end;
There's no place like 127.0.0.1
Re: Otomatik Label rengi değiştirmek
Bu yöntemide uyguladım fakat combobox.itemindex değişince diğer Label'lerin başlangıç rengini alması lazım, orayı aşamadım.
Re: Otomatik Label rengi değiştirmek
Her renk aslında bir sayısal değerdir.
clYellow = $00FFFF = 65535
gibi.
Her Label'ın başlangıç rengini Label'ın Tag özelliğinde saklayabilirsin.
Daha sonra Combobox'ın OnChange olayında başlangıç renklerine ulaşmak için
şeklinde kullanırsın.
clYellow = $00FFFF = 65535
gibi.
Her Label'ın başlangıç rengini Label'ın Tag özelliğinde saklayabilirsin.
Daha sonra Combobox'ın OnChange olayında başlangıç renklerine ulaşmak için
Kod: Tümünü seç
L0.Color := TColor(L0.Tag);
There's no place like 127.0.0.1
Re: Otomatik Label rengi değiştirmek
Sorumu tam olarak anlatamadım sanırım yada sizi anlayamadım.
şimdi elimde 10 Label var. Hepsinin default rengi siyah.
Case ile ComboBox'tan hangi item seçilmişse ona ait Label rengini sarı yapıyorum. Örneğin cb'dan 4'ü seçtim Label4 Sarı oldu. Sonra vazgeçtim cb'dan 7'yi seçtim. Label7'nin rengi Sarı oldu. Lakin bu durumda Label4'ü tekrar Siyah rengine çevirmesi lazım. Bu durumu başaramadım işte.
Teşekkürler.
şimdi elimde 10 Label var. Hepsinin default rengi siyah.
Kod: Tümünü seç
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
case ComboBox1.ItemIndex of
0:L0.Font.Color:=clYellow;
1:L1.Font.Color:=clYellow;
2:L2.Font.Color:=clYellow;
3:L3.Font.Color:=clYellow;
4:L4.Font.Color:=clYellow;
5:L5.Font.Color:=clYellow;
6:L6.Font.Color:=clYellow;
7:L7.Font.Color:=clYellow;
8:L8.Font.Color:=clYellow;
9:L9.Font.Color:=clYellow;
end;
end;
Teşekkürler.
Re: Otomatik Label rengi değiştirmek
Ben bunun cevabını yukarıda yazdımapex06 yazdı:Sorumu tam olarak anlatamadım sanırım yada sizi anlayamadım.
şimdi elimde 10 Label var. Hepsinin default rengi siyah.
Case ile ComboBox'tan hangi item seçilmişse ona ait Label rengini sarı yapıyorum. Örneğin cb'dan 4'ü seçtim Label4 Sarı oldu. Sonra vazgeçtim cb'dan 7'yi seçtim. Label7'nin rengi Sarı oldu. Lakin bu durumda Label4'ü tekrar Siyah rengine çevirmesi lazım. Bu durumu başaramadım işte.Kod: Tümünü seç
procedure TForm1.ComboBox1Change(Sender: TObject); begin case ComboBox1.ItemIndex of 0:L0.Font.Color:=clYellow; 1:L1.Font.Color:=clYellow; 2:L2.Font.Color:=clYellow; 3:L3.Font.Color:=clYellow; 4:L4.Font.Color:=clYellow; 5:L5.Font.Color:=clYellow; 6:L6.Font.Color:=clYellow; 7:L7.Font.Color:=clYellow; 8:L8.Font.Color:=clYellow; 9:L9.Font.Color:=clYellow; end; end;
Teşekkürler.
There's no place like 127.0.0.1
Re: Otomatik Label rengi değiştirmek
ama ben sarı rengini verirken onchance ile yapıyorum. bu durumda if kullanmam lazım orda.
Re: Otomatik Label rengi değiştirmek
Benim ilk gönderdiğim kodları onChange'de kullanmayı denediniz mi? (Tabi oradaki BaslangicRengi degeri sizin label'ların ilk rengi olacak)apex06 yazdı:ama ben sarı rengini verirken onchance ile yapıyorum. bu durumda if kullanmam lazım orda.
There's no place like 127.0.0.1
Re: Otomatik Label rengi değiştirmek
Haklısın kusura bakma, vaktini aldım. Ben başlangıç rengini case 'den sonra almaya çalışıyordum. İlk önce başlangıç rengini vermem lazımdı.
Sorunum halloldu.
Sorunum halloldu.