MDIChild
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim:
MDIChild
MDIChild formların
Borderstyle özelligi BsNone olamıyormu
BsNone degeri veriyorum ama malum border yine görünüyor
Baska birseyleride degiştirmem gerkiyormu yoksa MDIChild formların border özellegini degiştiremiyormuyuz.
herkese kolay gelsin.
Borderstyle özelligi BsNone olamıyormu
BsNone degeri veriyorum ama malum border yine görünüyor
Baska birseyleride degiştirmem gerkiyormu yoksa MDIChild formların border özellegini degiştiremiyormuyuz.
herkese kolay gelsin.
-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim:
Re: s.a
yaptıgın uygulamada ana formunhakan yazdı:kardeş kusura bakma soruna cevap deyil ama şimdiden özür dileyerek
ben senden şunu mümkünse öğrenebilirmiyim.mdiform içinde childform nasıl çağrılır.bunu yazarsan sevinirim .iyi çalışmalar.:=)
formstyle özelligini fsMDIForm yap
Bundan sonra ana form icinde Child olarak acmak istedigin formların
formstyle özelligini fsMDIChild yap
//ana forma buton ekle, butona cift tıkla,kodu yaz tamamdır
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.show;
end;
//form2 yerine forma verdigin adı yaz
umarım yardımcı oldum sevgiler
Form2'yi sağ tarafa aldik derken otomatik create edilen formlar listesinden cikardiginizi soylemek istmeişsiniz sanirim. Bu durumda formun kod ile create edilemesi gerekir ki diger soruya verilen cevapta bu durum icin gecerli. Dogrudan Form2.Show calismaz cunku create edilmemistir. Access violation hatasi verecektir.
viewtopic.php?t=898
Ama yok eger Form2'yi otomatik create edilme listesinden cikartmazsaniz da o zaman Abdulkadir arkadaşımızınz söylediği şekilde Form2.Show şeklinde çalıştırabilirsiniz....
viewtopic.php?t=898
Ama yok eger Form2'yi otomatik create edilme listesinden cikartmazsaniz da o zaman Abdulkadir arkadaşımızınz söylediği şekilde Form2.Show şeklinde çalıştırabilirsiniz....
Create etmezsen hata alırsın aşağıda linkini verdiğim mesajı oku fahrettin hocam bu konuyu güzelce anlatmış.
viewtopic.php?t=898
İyi Akşamlar.
viewtopic.php?t=898
İyi Akşamlar.
-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim:
tesekkür ederim fahrettin abifahrettin yazdı:aynen öyle değiştiremiyoruz. Daha doğrusu değiştirebiliyorsunuz ama hic bir fark olmuyor. Bu konuda Delphi helpindeki cümle kesin ve net:
Note: Changing the border style of an MDI child form to bsDialog or bsNone has no effect.
cok kötü acaba sebebi ne ?
peki ben form icinde diger bir formu nasıl
BsNone olaral nasıl acarım
caption falan olurmu acaba ben hemen deniyorum ama baska yöntemi varsa bilen arkadaslar yazarsa tesekkür ederim
basarılar sevgiler
ben projelerimde MDI formlar kullanıp bazı formlarımı MDIChild yapmadan modal olarak catigim olur. Onları bsNone veya BsDialog olarak acabiliyorum.
Yani MDIChild olmaz ise formunuz o zaman acabilirsiniz. Fakat MDI bir yapıda MDI chiled olmayan formları mutlaka ShowModal ile Modal olarak acmaya dikkat ederim.
Yani MDIChild olmaz ise formunuz o zaman acabilirsiniz. Fakat MDI bir yapıda MDI chiled olmayan formları mutlaka ShowModal ile Modal olarak acmaya dikkat ederim.
-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim:
Kod: Tümünü seç
FRM_ABOUT_EMLAX:=TFRM_ABOUT_EMLAX.Create(self);
try
FRM_ABOUT_EMLAX.showModal;
finally
FRM_ABOUT_EMLAX.free;
end;
-
- Üye
- Mesajlar: 23
- Kayıt: 26 Eki 2003 04:19
Border Style popertysini none yapamazsınız fakat size Formun AutoSize popertysini ve ToolWindow propertylerini kullanmanızı salık veririm. Ayrıca MDI formları kullanırken create etme ve free leme olaylarına ilişkin şöyle teknikler verebilirim.
Create : MyForm:=TMyForm.Create(Nil);
Free : Child formun onClose eventına
Action:=caFree; ve MyForm:=Nil;
satırlarını ekleyerek kullanmanızı tavsiye ederim (Aslında Borland diyo da bakma ben dedim gibi oluyo)
Selamlar
Abdullah
Create : MyForm:=TMyForm.Create(Nil);
Free : Child formun onClose eventına
Action:=caFree; ve MyForm:=Nil;
satırlarını ekleyerek kullanmanızı tavsiye ederim (Aslında Borland diyo da bakma ben dedim gibi oluyo)
Selamlar
Abdullah
-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim:
her halde birbirimizi yanlıs anladıkfahrettin yazdı:gibi mesela.....Kod: Tümünü seç
FRM_ABOUT_EMLAX:=TFRM_ABOUT_EMLAX.Create(self); try FRM_ABOUT_EMLAX.showModal; finally FRM_ABOUT_EMLAX.free; end;
form1 in icinde form2 yi acmak tan kastım
solda butonlar sagda icerik siz soldaki butonları tıkladıkca
sagdaki icerik degisecek butonlar duracak frame gibi yani
ama showmodal olunca haliyle formun dısında acılıyor
mesale söyle bir iki satırlık yazı olsaydı onları caption ile tek form içinde düzenlerdim
button1
panel1.caption'firma hakkında';
button2
panel1.caption'referanslar';
veya 3 panel olurdu form create edilirken 3 de hide
olur tılandıkca show edilirdi
ama formları böyle göstermem lazım hem tasarımı kolay olur
hemde karısık kod yıgınları ile ugrasılmaz.
delphide ki bu kısıtlamaya anlam veremedim dogrusu
hayallerim yıkıldı
ne yapacagım sasırdım dogrusu biraz düsüneyim
baska ne olabilir.
sizlere de tesekkür ederim
iş ve özel hayatınızda mutluluk ve basarı dilerim
o zaman bunlari ayri formalar degil de tek bir form icinde yapin....
formun sol tarafina bir pane koyup Align ozelligini AlLeft yapin. sag tarafa da TPageControl koyup onu da alClient yapin... TPage kontrol'e istediginiz kadar yeni sayfa ekleyin ve her bir Tabsheet'in caption'una da firma hakkinda, referanslar, .. seklinde basliklarinizi verin.
Sonra da sol tarafta ilgili tuşlara basinda sadece ilgili tabsheet'in Tabvisible'ini True digerlerinkini False yapin ve de TPageControl'un ActivePage'ini de dügmesine bastiginiz TAbsheet olarak atayin.
her bir tabsheet icine de istediklerinizi koyun....
Gerçi bu şeklin tadsarımının kolay olacağı ve karışık kod yığınlarından kurulunacağını söylemenize çok anlam veremedim. Şahsi kanaatim bu tarz sizi ekstra bir koddan kurtarmaz. Tasarım olarak bunu uygun görmenizi tabi ki saygı ile karşılarım hatta güzel bir tasarım bile olabilir ama tasarım şekilleri ile karışık kodlardan kurtulma olacagına çok ihtimal vermiyorum ya da ilk anda aklıma gelmiyor. Yani karşık kod yazmanızı gerektiren şeyler zaten tasarımlar değil muhtemelen operasyonel işlerdir diye düşünüyorum....
formun sol tarafina bir pane koyup Align ozelligini AlLeft yapin. sag tarafa da TPageControl koyup onu da alClient yapin... TPage kontrol'e istediginiz kadar yeni sayfa ekleyin ve her bir Tabsheet'in caption'una da firma hakkinda, referanslar, .. seklinde basliklarinizi verin.
Sonra da sol tarafta ilgili tuşlara basinda sadece ilgili tabsheet'in Tabvisible'ini True digerlerinkini False yapin ve de TPageControl'un ActivePage'ini de dügmesine bastiginiz TAbsheet olarak atayin.
her bir tabsheet icine de istediklerinizi koyun....
Gerçi bu şeklin tadsarımının kolay olacağı ve karışık kod yığınlarından kurulunacağını söylemenize çok anlam veremedim. Şahsi kanaatim bu tarz sizi ekstra bir koddan kurtarmaz. Tasarım olarak bunu uygun görmenizi tabi ki saygı ile karşılarım hatta güzel bir tasarım bile olabilir ama tasarım şekilleri ile karışık kodlardan kurtulma olacagına çok ihtimal vermiyorum ya da ilk anda aklıma gelmiyor. Yani karşık kod yazmanızı gerektiren şeyler zaten tasarımlar değil muhtemelen operasyonel işlerdir diye düşünüyorum....
-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim: