MdiChild a müdahale

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

MdiChild a müdahale

Mesaj gönderen serbek_tr »

Hayırlı çalışmalar;

Arakadaşlar Kısa bir örmnke vereyim

Kod: Tümünü seç

Procedure TForm1.MdiChilAc(Sender:Tobject);
Begin
  Application.CreateForm(TForm_Editor,Form_Editor);
  Form_Editor.Show;
End;
Böylece MdiChild Formumu create ettim ve bu formda birtane richedit nesnesi var

Kod: Tümünü seç

Procedure Tform1.MdiChilEditorSize(Sender:Tobject);
Begin
  Form_Editor.Richedit1.Paragraph.Alignment:=TaCenter;
End;
Dedik buraya kadar herşey hoş şimdi mdi formada aç düğmesine basıp bir child form daha açarsam bu size düğmesi hangi editorü kontrol eder ben aktif olanı etmesini istiyorum mesela ama sadece birine müdahale ediyor tabi bu size komutunu ana formdan verdiğim için child ların kendi üzerinden verirsem bir sorun yok ama önemli olan kontrolü ana formdan yapamak ve aktif pencere hangisi ise on ayapmak arkadaşlar teşekkür ederim
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

TForm_Editor(findcomponent(form1.ActiveMDIChild.Name)).RichEdit1.Paragraph.Alignment:=TaCenter;

Kolay Gelsin;
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Mesaj gönderen serbek_tr »

Arakdaşım ilgine teşekkür ederim;
Access Violation at address ile başlayan bir hata veriyor
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

Kod: Tümünü seç

TForm_Editor.Create(self);
Şeklinde create edersen sorun kalkacaktır sanırım
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Mesaj gönderen serbek_tr »

Arkadaşım bu vermiş olduğun kod parçasının

create(self) olayına göre değilde acaba Apllication(Tform,form) olayına göre olanı mümkünmüdür çünkü başkaca kontrolerim var onlar hata verecek bu defa
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Mesaj gönderen serbek_tr »

Abrak yinede bu söylediğime uygun bir çözüm bulursan çok sevinirim yardımın için Allah Razı olsun Arkadaşım çok işimi gördü artık diğer problemleri ben halledeceğim çok sağol
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

create değiştirmen kontrollerini etkilemez sadece 2 satır düzelteceksin belki çözümü vardır ama benim bilgi daracımda öyle bir bilgi yok :oops:
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

Beyin jimnastiğinin sonu yoktur :lol:

Kod: Tümünü seç

TForm_Editor(Application.FindComponent(form1.ActiveMDIChild.Name)).RichEdit1.Paragraph.Alignment:=TaCenter;
Düşünürken acabamı dedim ve oldu
Kolay gelsin
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Mesaj gönderen serbek_tr »

kardeş çok haklısın valla bizmi iflas ettik yoksa artık kapasite meselesimi ona bilir kişiler karar versin, ne deseniz kabul valla artık
bu arada birşey daha sormak isterim verdiğin kod içerisinde
ActiveMDIChild.Name geçiyor ya mesela bu child ler açık iken özelliği fsstayontop olan bir form açıyorum ve bu formdan verdiğin koda göre activ olan childe kontrol gönderebiliyorum ama mesela bu fsstayontop bir arama formu ve burdaki değer child lar arasında önde bulunan yani diğer form açıldığı için aktif olma özelliği kalmayan ama en son aktif olan forma müdahale edemiyorum çünkü active child yok bu nasıl çözülür bir yardımın olursa sevinirim lütfen tembellik olarak değerlendirme bu sorunu çözmek için 3 günümü harcadım boşu boşuna ve bugün son günüm yani biten bir proje idi ama sadece ekranda bulunan bir rihedit idi bunu childlerle yapmaya karar verince olay bu duruma geldi hoş gör teşekkür ederim
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

Kod: Tümünü seç

MDIChildren[0].Name
MDIChildren formların en üsttekini verir aşağıya doğru 1,2,.. diye gider
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Mesaj gönderen serbek_tr »

Abrak Harbiden sen fazla jimnastik yapmışsın Allah Güç Kuvvet Vermeye devam etsin inşallah Sen Bugün beni çok sevindirdin Yaradan seni mutlu etsin.
Arkadaşım beni sevindirmen karşılığında sana verebildiğim tekşey(Karşılık beklediğini düşündüğümden değil sadece gerçekten sevincimi ifadde etmek için söylüyorum) Dua Allah Razı olsun kardeş.

umarım birgün benim de sana küçükte olsa bir bilgi yardımım olur.
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

cümlemizden razı olsun;
Yardımım dokunduysa ne mutlu bana

Kolay Gelsin;
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
Kullanıcı avatarı
sychorax
Üye
Mesajlar: 206
Kayıt: 20 May 2004 04:29

Mesaj gönderen sychorax »

Örneğin formun adı frmeditor ise.
Formu Oluşturmak için

Kod: Tümünü seç

application.crateform(Tfrmeditor,frmeditor);
Formdaki bir bileşene ulaşmak için

Kod: Tümünü seç

Tfrmeditor(ActiveMdiChild).richedit1.lines.add('yazı');
Ben bunları kullanıyorum.
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Mesaj gönderen serbek_tr »

Teşekkür ederim sayenizde kaybettiğim 3 günü kazanmış oldum zamandan daha önemli ne varki
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Cevapla