ShowModal formlar arasında geçiş!

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Cevapla
Kullanıcı avatarı
cigdemsa
Üye
Mesajlar: 2
Kayıt: 21 Ağu 2004 01:34

ShowModal formlar arasında geçiş!

Mesaj gönderen cigdemsa »

Merhaba,

Şöyle bir sıkıntım var.
Yaptığım programda aynı formu birden fazla, modal olarak açmam gerekiyor. En son açtığım formdan diğer formlara geçiş sağlanabilecek şekilde tasarladım. Fakat diğer forma geçmek istediğim de başarılı olamıyorum.

Örneğin ; Aynı formu arka arkaya 3 kere ShowModal etttim. Ve en son açtığım formdan bir önceki forma geçmek istiyorum.
Screen.Forms[1].BringToFront;
şeklinde yaptığımda form ekrana geliyor fakat müdahale edemiyorum.

Yardımcı olursanız sevinirim.
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Re: ShowModal formlar arasında geçiş!

Mesaj gönderen White Rose »

Showmodal olarak açarsanız en üstte bulunan pencereyi kapatmadan diğer pencerelere ulaşamazsınız,
show komutuyla açın.
Ayrıca 3 defa üst üste showmodal ile nasıl açabildiniz ?
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: ShowModal formlar arasında geçiş!

Mesaj gönderen emin_as »

Üst üste istediğiniz kadar showmodal pencere açabilirsiniz. Fakat bir önceki pencereye dönemezsiniz. Showmodal in özelliği odur, sizin bir işlemi tamamlayana kadar önceki pencereye dönmenizi engeller. Ama showmodalla açtığınız form2 adlı pencerede bir dügmeye tıklanınca, form3 adlı bir pencere daha açabilirsiniz. Bu durumda Form3 kapanana kadar form2 ye dönemezsiniz.

Form1 açık düğmeye tıklandı -> form2.showmodal (form2 deki bir dügmeye tıklandı -> form3

Ekranda sırasıyla şu pencereler var: form1 -> form2 -> form3

Bu gidiş sırasına göre pencereler kapanır.

Form3 kapanır -> form2 ye dönülür. Form2 kapanır -> form1 dönülür.

Tabii bu focus işlemleri için geçerlidir. Form3 açıkken form1 deki public bir procedure çagrılabilir.

Eğer bu pencereler aynı zamanda gösterilip, aralarında dolaşılmak isteniyorsa, show ile gösterilmelidir.
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Re: ShowModal formlar arasında geçiş!

Mesaj gönderen White Rose »

"Aynı formu arka arkaya 3 kere ShowModal etttim" diyor arkadaş,
aynı formdan(form1) 3 defa aynı formu(örn:form2) nasıl showmodal ile açabiliyor merak ettim.
Kullanıcı avatarı
cigdemsa
Üye
Mesajlar: 2
Kayıt: 21 Ağu 2004 01:34

Re: ShowModal formlar arasında geçiş!

Mesaj gönderen cigdemsa »

Peki ShowModal formlar arasında geçiş yapamıyor isem.
Şöyle birşey mümkün mü?

Main formum MDIForm, main form üzerinden açtığım formu tam ekran açabilirmiyim? Yani Main form üzerindeki menüler arkada kalacak şekilde. Yani bütün ekranı kaplayacak şekilde açmak istiyorum. Form tipi Normal olarak açtığımda açılıyor fakat arkaya tıklandığı zaman form kayboluyor, Modal açtığımdada yukarıda bahsettiğim sorun oluşuyor...
MDIChild açtığımdada tam ekran açılmıyor...
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Re: ShowModal formlar arasında geçiş!

Mesaj gönderen abdulkadir »

form create edilirken form steyle özelligini degiştirebilirsin.
tam ekran için örnek

Kod: Tümünü seç

procedure TAnaF.TamEkran1Click(Sender: TObject);
procedure FullScreen;
  var R:TRect;
  NewForm: TForm;
begin
 NewForm :=TForm.Create(Self);// create edilecek form adı
 NewForm.KeyPreview:=True;
 NewForm.OnKeyDown:=AnaF.OnKeyDown;
  try
   with NewForm do begin
   FormStyle:=fsNormal;//fsmdichild olan özelligi degiştiriliyor 
   BorderStyle:=bsNone;
   WindowState:=wsMaximized;
  SetBounds(R.Left,R.Top,R.Right-R.Left,R.Bottom-R.Top) ;
  ShowModal;
   end;
  finally
   NewForm.Free;
 end;
end;
begin
   FullScreen;
end;
umarım fikir verir size
kolay gelsin...
Fikirleri Aktar
Kaynakları Dagıt
Ve
Yoldan Çekil
http://www.Leventler.com.tr
Cevapla