form içinde showmodal form açmayı bilen varsa elinde öpeceği
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
form içinde showmodal form açmayı bilen varsa elinde öpeceği
çok ciddiyim.
form içinde showmodal form açmayı bilen varsa elinde öpeceğim.
form içinde başka bir form açmak istiyorum. bu mümkün bilen bilir ama ben bu formun showmodal tarzı açılmasını istiyorum. bunu da anlayan anlamıştır.
çooook denedim ve çok araştırdım ama bulamadım. bugün bu sitek yine depreşti bi de size sorayım dedim.
ilgilenen arkadaşlara şimdiden teşekkürler.
form içinde showmodal form açmayı bilen varsa elinde öpeceğim.
form içinde başka bir form açmak istiyorum. bu mümkün bilen bilir ama ben bu formun showmodal tarzı açılmasını istiyorum. bunu da anlayan anlamıştır.
çooook denedim ve çok araştırdım ama bulamadım. bugün bu sitek yine depreşti bi de size sorayım dedim.
ilgilenen arkadaşlara şimdiden teşekkürler.
Merhaba,
Bu mesajı programlama forumuna sormanız lazımdı.
Yeni bir proje açtıktan sonra File /new/form u seçip bir form daha ekliyorsunuz formunuza
form1 e bir buton eklediğinizi varsayıyorum.
Form1 deyken File /use unit i seçip Unit2 yi seçiyorsunuz.
sonra butonun onclik olayına
yazıyorsunuz.
Sizin kasdettiğiniz bu değil mi? Bu şekilde bir deneyin.
Kolay gelsin.
Bu mesajı programlama forumuna sormanız lazımdı.
Yeni bir proje açtıktan sonra File /new/form u seçip bir form daha ekliyorsunuz formunuza
form1 e bir buton eklediğinizi varsayıyorum.
Form1 deyken File /use unit i seçip Unit2 yi seçiyorsunuz.
sonra butonun onclik olayına
Kod: Tümünü seç
form2.showmodal;
Sizin kasdettiğiniz bu değil mi? Bu şekilde bir deneyin.
Kolay gelsin.
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Logo Go özel eğitim, web tasarım, teknik servis
mesela butona basınca formu hem showmodal olarak açmak hemde formu o an create etmek için aşağıdaki kodu kullanabilirsin :
Kod: Tümünü seç
Form2:=TForm2.create(Nil);
try
Form2.showmodal;
Finally
Form2.Free;
End;
Bilginin temelini sağlam at depremde zarar görmesin
yanlış anlamışsınız
yanlış anlamışsınız, ben detaya girmediğim için oldu anlayacağınızı ummuştum.
dikkat ederseniz form içinde form açmaktan bahsediyorum.
form içinde form
form içinde form
form içinde form
yani form2'nin parentı form1 veya form1 içinde bir panel olacak. ama form2 açılınca showmodal olacak yani form1 içinde bir yere tıklanamayacak, ama programdaki diğer aktif pencerelere erişilebilecek.
dikkat ederseniz form içinde form açmaktan bahsediyorum.
form içinde form
form içinde form
form içinde form
yani form2'nin parentı form1 veya form1 içinde bir panel olacak. ama form2 açılınca showmodal olacak yani form1 içinde bir yere tıklanamayacak, ama programdaki diğer aktif pencerelere erişilebilecek.
konyalı sen kızma bari ya
konyalı sen kızma bari ya çünkü ben de konyalıyım da neyse,
ne kızacağım canım ne haddime.
neyse form içinde form açmayı biliyoruz da form içinde showmodal form açmayı bilen varsa halen el öpmeye hazır bekliyorum.
ne kızacağım canım ne haddime.
neyse form içinde form açmayı biliyoruz da form içinde showmodal form açmayı bilen varsa halen el öpmeye hazır bekliyorum.

Re: yanlış anlamışsınız
Merhaba,
demek sanırım. Bu durumda diğer aktif pencerelere nasıl geçeceksiniz?
Ama şunu demek istiyorsanız o olabilir.
"ben form 2 de iken form1 e geçemesin ama form3,form 4 ... e geçebilsin " gibi bir ifade kullanırsanız bence showmodal olarak değilde normal olarak formu show edersiniz. ondeactivate ine bir şeyler yazıp activin form1 geçmesi durumunda bu işlemi iptal ettirirsiniz.
Kolay gelsin.
ne yapmak istediğinizi hala anlamış değilim. Ama showmodal ın anlamı "siz bu formdan çıkana kadar başka forma geçemezsiniz kendi programınızda"oquz yazdı: yani form2'nin parentı form1 veya form1 içinde bir panel olacak. ama form2 açılınca showmodal olacak yani form1 içinde bir yere tıklanamayacak, ama programdaki diğer aktif pencerelere erişilebilecek.
demek sanırım. Bu durumda diğer aktif pencerelere nasıl geçeceksiniz?
Ama şunu demek istiyorsanız o olabilir.
"ben form 2 de iken form1 e geçemesin ama form3,form 4 ... e geçebilsin " gibi bir ifade kullanırsanız bence showmodal olarak değilde normal olarak formu show edersiniz. ondeactivate ine bir şeyler yazıp activin form1 geçmesi durumunda bu işlemi iptal ettirirsiniz.
Kolay gelsin.
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Logo Go özel eğitim, web tasarım, teknik servis
anlamışsınız
anlamışsınız fakat "showmodal olarak değilde normal olarak formu show edersiniz. ondeactivate ine bir şeyler yazıp activin form1 geçmesi durumunda bu işlemi iptal ettirirsiniz. " demişsiniz ya.
showmodal diyemeceğimizi biliyorum.
show yapacağız ok. ondeactiveine bir şeyler yazıp gibi bir işlem işte o ne acaba , çözüm orada yatıyor...
ondeactive çalışmıyor zaten.
aynı zamanda şöyle bir kod yazabilmemiz lazım
.....
form2aç;
if form2.falandegisken = filan then
.....
...
yani showmodaldaki gibi kullanabilmek.
showmodal diyemeceğimizi biliyorum.
show yapacağız ok. ondeactiveine bir şeyler yazıp gibi bir işlem işte o ne acaba , çözüm orada yatıyor...
ondeactive çalışmıyor zaten.
aynı zamanda şöyle bir kod yazabilmemiz lazım
.....
form2aç;
if form2.falandegisken = filan then
.....
...
yani showmodaldaki gibi kullanabilmek.
Evet olmuyormuş. ShowModal'a girdiğinde form kapanana kadar döngüye giriyor çünkü.
Neyse bir yöntem buldum şöyle ki.
Ana formun içinde form açmak için:
kullanalım. Form2 de bizim Modal açmak istediğimiz form olsun. Ana formun Activate'ine
Yazıyoruz. Bu sayede bir hile yapıyoruz. Kullanıcı 2. form açıldıktan sonra ana forma tıklasa bile, 2. forma geri dönüyor. Ta ki 2. form kapanana kadar. Bu esnada Show ile açık olan diğer formalara da erişilebiliyor.
2. formu free etmek için OnClose'a:
yazmamız gerekiyor ki Ana forma tekrar focus olabilelim.
Neyse bir yöntem buldum şöyle ki.
Ana formun içinde form açmak için:
Kod: Tümünü seç
if not Assigned(Form2) then
Form2:= TForm2.Create(Self);
Form2.Show;
Kod: Tümünü seç
procedure TForm1.FormActivate(Sender: TObject);
begin
if Assigned(Form2) then
Form2.BringToFront;
end;
2. formu free etmek için OnClose'a:
Kod: Tümünü seç
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
Form2:= nil;
end;