mdi problemi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
vesper
Üye
Mesajlar: 78
Kayıt: 28 Tem 2005 08:23

mdi problemi

Mesaj gönderen vesper »

mdi form meselesi epey konuşulmuş farkındayım ama sorunuma çözüm bulamadım. Mdi cild formu forumda belirtildiği gibi oluşturuyorum

Kod: Tümünü seç

if Assigned(cari) then
cari.BringToFront
else
cari := Tcari.Create(Self);
daha sonra gene forumda belirtildiği gibi kapatıyorum.

Kod: Tümünü seç

procedure TCARI.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
cari:=nil;
end;
formun üzerinde 1700 kadar cari kaydı çeken bir adotable a bağlı bir gridim var.
formu daha sonra tekrar göstermen gerektiğinde yukarıdaki gibi tekrar gösteriyorum. Ama form bu sefer daha aşağıda ve daha solda oluşuyor. Sorunu çözmek için oluşturduktan sonra sabit bir pozisyona çekmeyi denedim. Öyle yapıncada aynı form 10-15 kez görüntülenip kapatıldığında epey uzak bir yerden sabit pozisyonuma taşınıyor her keresinde sorguyuda çalıştırdığı için epey bir aşağıda oluşup yerinin değiştiği görülüyor. Kısaca formun 2 kez create edildiğinde aynı yerde create edilmesini nasıl sağlarım? Çok uzun ve gereksiz anlatmışım gibi geldi ama neyse şimdiden teşekkürler.
Kullanıcı avatarı
tuanna
Üye
Mesajlar: 582
Kayıt: 06 Ara 2004 05:01
Konum: Ankara
İletişim:

Mesaj gönderen tuanna »

formu her istediğinde create etme....
yani

ilk istediğinde create edersin sonra sadece istediğinde çağırırısın
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Ben şu şekilde bir kodu formun OnCreate olayına yazarak tam ortalı açılmasını sağlıyorum.

Kod: Tümünü seç

var
  crect: TRect;
begin
  inherited;
  // Eğer Formun position property'si poDefaultPosOnly ise formun içine tam ortalama yapiyor.
  //poDefault - formun büyüklüğünü değiştiriyor, sorun oluyor
  Windows.GetClientrect( application.mainform.clienthandle, crect );
  SetBounds((crect.right - width ) div 2,(crect.bottom - height ) div 2,width, height );
Kolay gelsin.
vesper
Üye
Mesajlar: 78
Kayıt: 28 Tem 2005 08:23

Mesaj gönderen vesper »

hocam teşekkürler kod tam olarak sorunumu çözdü.
Cevapla