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.
ShowModal formlar arasında geçiş!
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.
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.
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: ShowModal formlar arasında geçiş!
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 ?
show komutuyla açın.
Ayrıca 3 defa üst üste showmodal ile nasıl açabildiniz ?
Re: ShowModal formlar arasında geçiş!
Ü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.
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.
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: ShowModal formlar arasında geçiş!
"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.
aynı formdan(form1) 3 defa aynı formu(örn:form2) nasıl showmodal ile açabiliyor merak ettim.
Re: ShowModal formlar arasında geçiş!
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...
Şö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...
-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim:
Re: ShowModal formlar arasında geçiş!
form create edilirken form steyle özelligini degiştirebilirsin.
tam ekran için örnek
umarım fikir verir size
kolay gelsin...
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;
kolay gelsin...