MDIChild

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

MDIChild

Mesaj gönderen abdulkadir »

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.
hakan
Üye
Mesajlar: 11
Kayıt: 02 Tem 2003 01:10
Konum: Ankara

s.a

Mesaj gönderen hakan »

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.:=)
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

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.
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Re: s.a

Mesaj gönderen abdulkadir »

hakan 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.:=)
yaptıgın uygulamada ana formun
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
hakan
Üye
Mesajlar: 11
Kayıt: 02 Tem 2003 01:10
Konum: Ankara

Mesaj gönderen hakan »

iyide o şekilde delphide hata veriyor
form1 mdi form2 child yaptık
options dan form2 yi sağ tarafa da aldık button1 click ine form2.show; yazdık ama yine hata veriyor
peki napmalı.
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

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....
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

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.
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

fahrettin 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.
tesekkür ederim fahrettin abi

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
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

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.
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

fahrettin yazdı:ben projelerimde MDI formlar kullanıp bazı formlarımı MDIChild yapmadan modal olarak catigim olur. Onları bsNone veya BsDialog olarak acabiliyorum.
Nasıl

her türlü yardımlarınız için tesekkür ederim
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Kod: Tümünü seç

  FRM_ABOUT_EMLAX:=TFRM_ABOUT_EMLAX.Create(self);
  try
    FRM_ABOUT_EMLAX.showModal;
  finally
    FRM_ABOUT_EMLAX.free;
  end;
gibi mesela.....
kuranokurum
Üye
Mesajlar: 23
Kayıt: 26 Eki 2003 04:19

Mesaj gönderen kuranokurum »

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
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

fahrettin yazdı:

Kod: Tümünü seç

  FRM_ABOUT_EMLAX:=TFRM_ABOUT_EMLAX.Create(self);
  try
    FRM_ABOUT_EMLAX.showModal;
  finally
    FRM_ABOUT_EMLAX.free;
  end;
gibi mesela.....
her halde birbirimizi yanlıs anladık

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
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

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....
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

benimde aklıma ilk bu sekil geldi
nasıl yapacagıma henüz karar vermedim bir deneyip
görmem lazım
belkide yanlıs yoldayım ama bu kadar tecrubemle ancak deneme ler ve yardımlarınızla dogru yu bulacagım sanıyorum simdilik.

fikirleriniz için tesekkür ederim..

basarılar....
Cevapla