aktif nesnenin renginin değiştirilmesi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 47
- Kayıt: 17 Ara 2004 12:14
aktif nesnenin renginin değiştirilmesi
formda nesneler arasında dolaşırken (veri girişi yapılırken) aktif nesnenin rengini değişmesini nasıl yapabiliriz?
nesnelerin onenter ve onexit olaylarına gerekli kodu yazabilirisin.
mesela edit1'e girildiği zaman gibi.
bir de bu işlemleri kendiliğinden yapan ome bileşen seti var.
omeedit diye arama yaparsanız bulursunuz. kolay gelsin.
mesela edit1'e girildiği zaman
Kod: Tümünü seç
edit1.color:=clskyblue;
bir de bu işlemleri kendiliğinden yapan ome bileşen seti var.
omeedit diye arama yaparsanız bulursunuz. kolay gelsin.
Merhaba,
Ben programımda Rx bilşenlerininde içinde bulunduğu bazı kontrolleri renklerini dğeiştirmek için Formu parametre geçtiğim bir procedure oluşturdum ,
Bu kod sadece OnEnter yada OnExit olayında farklı bir yordam yazmayan bileşenlerin olay metodlarına gerekli atamaları yapar.Hataya sebebiyet vermeemk için böyle bir önlem almıştım.
İyi çalışmalar.
Ben programımda Rx bilşenlerininde içinde bulunduğu bazı kontrolleri renklerini dğeiştirmek için Formu parametre geçtiğim bir procedure oluşturdum ,
Kod: Tümünü seç
procedure GlobalOnEnter(Sender: TObject);
Const Renk:TColor=$00B8CBDE;
begin
if Sender is TEdit then
TEdit(Sender).Color:=Renk;
if Sender is TCurrencyEdit then
TCurrencyEdit(Sender).Color:=Renk;
if Sender is TComboBox then
TComboBox(Sender).Color:=Renk;
if Sender is TDateTimepicker then
TDateTimePicker(Sender).Color:=Renk;
if Sender is TRxDBLookupCombo then
TRxDBLookupCombo(Sender).Color:=Renk;
if Sender is TMaskEdit then
TMaskEdit(Sender).Color:=Renk;
end;
procedure GlobalOnExit(Sender: TObject);
Const Renk:TColor=$00D2DDDD;
begin
if Sender is TEdit then
TEdit(Sender).Color:=Renk;
if Sender is TCurrencyEdit then
TCurrencyEdit(Sender).Color:=Renk;
if Sender is TComboBox then
TComboBox(Sender).Color:=Renk;
if Sender is TDateTimepicker then
TDateTimePicker(Sender).Color:=Renk;
if Sender is TRxDBLookupCombo then
TRxDBLookupCombo(Sender).Color:=Renk;
if Sender is TMaskEdit then
TMaskEdit(Sender).Color:=Renk;
end;
// bu Metodları set edecek procedurede ,
procedure SetGlobalEvents(Form: TForm);
var
i:integer;
begin
for i:=0 to Form.ComponentCount-1 do
begin
if (Form.Components[i] is TEdit) or (Form.Components[i] is TComboBox) or (Form.Components[i] is TCurrencyEdit) or (Form.Components[i] is TMaskEdit) or (Form.Components[i] is TDateTimePicker) or (Form.Components[i] is TRxDBLookupCombo) then
begin
if (Form.Components[i] is TEdit) then
begin
if @TEdit(Form.Components[i]).OnEnter=nil then
TEdit(Form.Components[i]).OnEnter:=GlobalOnEnter;
if @TEdit(Form.Components[i]).OnExit=nil then
TEdit(Form.Components[i]).OnExit:=GlobalOnExit;
end;
if (Form.Components[i] is TCurrencyEdit) then
begin
if @TCurrencyEdit(Form.Components[i]).OnEnter=nil then
TCurrencyEdit(Form.Components[i]).OnEnter:=GlobalOnEnter;
if @TCurrencyEdit(Form.Components[i]).OnExit=nil then
TCurrencyEdit(Form.Components[i]).OnExit:=GlobalOnExit;
end;
if (Form.Components[i] is TMaskEdit) then
begin
if @TMaskEdit(Form.Components[i]).OnEnter=nil then
TMaskEdit(Form.Components[i]).OnEnter:=GlobalOnEnter;
if @TMaskEdit(Form.Components[i]).OnExit=nil then
TMaskEdit(Form.Components[i]).OnExit:=GlobalOnExit;
end;
if (Form.Components[i] is TDateTimePicker) then
begin
if @TDateTimePicker(Form.Components[i]).OnEnter=nil then
TDateTimePicker(Form.Components[i]).OnEnter:=GlobalOnEnter;
if @TDateTimePicker(Form.Components[i]).OnExit=nil then
TDateTimePicker(Form.Components[i]).OnExit:=GlobalOnExit;
end;
if (Form.Components[i] is TRxDbLookupCombo) then
begin
if @TRxDbLookupCombo(Form.Components[i]).OnEnter=nil then
TRxDbLookupCombo(Form.Components[i]).OnEnter:=GlobalOnEnter;
if @TRxDbLookupCombo(Form.Components[i]).OnExit=nil then
TRxDbLookupCombo(Form.Components[i]).OnExit:=GlobalOnExit;
end;
if (Form.Components[i] is TComboBox) then
begin
if @TComboBox(Form.Components[i]).OnEnter=nil then
TComboBox(Form.Components[i]).OnEnter:=GlobalOnEnter;
if @TComboBox(Form.Components[i]).OnExit=nil then
TComboBox(Form.Components[i]).OnExit:=GlobalOnExit;
end;
end;
end;
end;
//Kullanımı
SetGlobalEvents(FormunAdı);
İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr