Tüm SpeedButtonlar Flat True olsun?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Tüm SpeedButtonlar Flat True olsun?

Mesaj gönderen NewMember »

Arkadaşlar.MDI(Ana Formum) bir formdan verilecek bir komutla ana form ve bütün child formlardaki SpeedButtonların Flat özelliğini true yapabilirmiyiz.Yani kullanıcıya seçim şansı tanımak istiyorum da.Naıl bir döngü ile bunu yapabiliriz?İyi akşamlar.
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Açık olan MDI child formlardaki bileşenlere müdehale edebilirsin açık olmayana da edersin ama formun create edilmiş olması lazım.Derleyici yok şu anda ama daha önce formlarla ilgili bir soruya bir makaleyle cevap vermiştim.arama yaparak bulabilirsin .MDI child formların sayısı kada rbir döngü aç ve her döngüden sonra o mdichild formda mevcut olan ,

Kod: Tümünü seç

sender as Tspeedbutton,
ise flat =ture yap gibi.
,
,,kolay gelsin
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Ya kusura bakmayın.Biraz soruyu anlatamadım galiba.Child formları unutun.Ben hepsinin create yordamına yazarım aynı kofu.Bana şu kod lazım.Tek tek

Kod: Tümünü seç

SpeedButton1.flat:=True
yazmıycam da bir komutla formun üzerinde ne kadar speedbutton varsa Flat true olacak.Bunun kodunu biliyorsanız yazarsanız sevinirim.Sağolun .Kolay gelsin.
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Kod: Tümünü seç

for n:=1 to componentcount-1 do 
begin 
  if components[n] is TSpeedButton then 
  begin 
    (components[n] as TspeedButton).flat:=true; //  
  end; 
end; 


Kolay gelsin.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Çalıştı.Teşekkürler
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Bende teşekkür ederim baştan söleseydin böle olduğunu neyse çözdük ya :D
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
ozkanagiral
Üye
Mesajlar: 79
Kayıt: 17 Oca 2004 06:23
Konum: istanbul
İletişim:

Mesaj gönderen ozkanagiral »

Kod: Tümünü seç

function TumBilesenOzelliklerineEris(Component:TComponent):Integer;
var i:Integer;
begin
  if Component is TSpeedButton then TSpeedButton(Component).Flat:= True; 
  Result:=1;
  for i:=0 to Component.ComponentCount-1 do
   Result:=Result+TumBilesenOzelliklerineEris(Component.Components[i]);
end;
Selam, sorunu okuduktan sonra bu kodu mevcut çalıştığım projemde hemen yazıp denedim sonuç istediğin gibi.

fonksiyonu çağırmak için

Kod: Tümünü seç

procedure TFrmAnaKARINCA.ActSpButonlariFlatYapExecute(Sender: TObject);
begin
TumBilesenOzelliklerineEris(Application)
//Buraya Applicationu yazarsan tüm uygulamayı etkiler....
end;
Kolay Gelsin.
Kullanıcı avatarı
ozkanagiral
Üye
Mesajlar: 79
Kayıt: 17 Oca 2004 06:23
Konum: istanbul
İletişim:

Mesaj gönderen ozkanagiral »

:D :D :D İyiki de hemen yazmışım... Demek kiiii hemen yazman önemli değil önemli olan hemen göndermen :)))
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Ozkanagiral.Çok Teşekkürler.Hepinize çok teşekkürler.
Cevapla