Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi Formlarının Sekmeler Halinde açılması
#1
Star 
Arkadaşlar delphi de oluşturduğum formları buton yardımıyla sekmeler halinde açıp buton yardımı ile kapatmak istiyorum. Birçok şey denememe rağmen bir türlü yapamadım. Acil yardımlarınızı bekliyorum. Vereceğiniz bilgiler için şimdiden çok teşekkür ederim.
Cevapla
#2
Merhaba
Anahtar işlemler Smile
formlar auto create olmayacak,
container özelliği nesneler panel, tabsheet vb.

form için değişken tanımla,
değişkeni create et, owner ana form olsun
parent ı container özelliği nesne yap
form değişkenini show yap.
Cevapla
#3
Pagecontrol nesnesi koyup formu bunun içine create edebilirsin.
WWW
Cevapla
#4
pagecontrol yaptım fakat her seferinde yeni page açıyor
procedure TForm3.kullan1Click(Sender: TObject);
var
TabSheet: TTabSheet;
begin
TabSheet := TTabSheet.Create(PageControl1);
TabSheet.Caption := 'Kullanıcı Değiştir';
TabSheet.PageControl := PageControl1;
Form4.Parent := TabSheet;
Form4.Show;
end;

Pagecontrol kullanıyorum fakat her seferinde yeni page açıyor;
procedure TForm3.kullan1Click(Sender: TObject);
var
TabSheet: TTabSheet;
begin
TabSheet := TTabSheet.Create(PageControl1);
TabSheet.Caption := 'Kullanıcı Değiştir';
TabSheet.PageControl := PageControl1;
Form4.Parent := TabSheet;
Form4.Show;
end;

Aslında benim yapmak istediğim programdaki formları sekmeler halinde kontrol edip form kirliliğinden kurtulmak;
mainmenu ile formları sekmeler halinde açıp farklı formlar üzerinde işlemler yapmak. Bilgiler için teşekkürler.
Cevapla
#5
İstediğin şey bu mu ?

qJZDNB.png
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#6
main menude fişler butonu olsun ana tıkladığımda sekme olarak açılsın tekrar mainmenude cari diye bir buton olsun ona tıkladığımda da aşağıda sekme halinde ikinci bir form olsun sonra bu formlarda kırmızı çarpı (kapat) butonu olsun ona tıkladığımda o sekme kapansın açmak istediğimde tekrar mainmenuden açabileyim.


Ek Dosyalar Resimler
   
Cevapla
#7
Yapmak istediğiniz şey aynı formu çift açtırtmamak mıdır?

Her tıkladığında TTabSheet tipinden bir nesneyi oluşturan kod yazarsanız her seferinde sizin için yeniden oluşturacaktır. Eğer Formlara TAG yada farklı bir belirteç ile sabitlerseniz ve bu yeni tab oluşturma anında mevcut TPageControl içindeki TTabSheet leri sırasıyla gezip TAG parametresi mevcutta varsa aktif tab olarak onu ayarlayabilir, yoksa oluşturabilirsiniz.

Kapatma işlemi için sağ tuşa bir popupmenu yada mainmenu bağlayıp, active tab hangisi ise onu container içinden destroy edebilirsiniz. Aynı formdan birden fazla oluşturması durumunda Form_Nesnesi_1 şeklinde ikinci bir klon oluşturur. Eğer formun ismi ile içerideki görsel komponentlerin stil ve yerleşke ayarlarını yönetiyorsanız başınızı ağrıtır. Orada da oluşturulmuş form isimlerini gezerek mükerrer oluşturmayı engelleyebilirsiniz.
{ talk is cheap show me the code. }
Cevapla
#8
Teşekkürler Abdullah Bey,
Bu dediklerinizi deneyeceğim. Birde butona tıkladığım da aynı formu yan yana açmam mümkün müdür. Form dizaynı aynı olacak fakat içindeki verilerle yapacağım işlemler farklı olacak.
Cevapla
#9
(07-12-2017, Saat: 12:09)sahin4169 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlTeşekkürler Abdullah Bey,
Bu dediklerinizi deneyeceğim.  Birde butona tıkladığım da aynı formu yan yana açmam mümkün müdür. Form dizaynı aynı olacak fakat içindeki verilerle yapacağım işlemler farklı olacak.

Rica ederim.

Tabii ki. Bu tarz işlemleri genelde mastar form tasarımları üzerinden yürütmeniz avantajlı olur. Mesela Detay formları ve Liste formları. Örneğinizden yola çıkarak; Cari listesi ve Cari detay formu olarak ele alalım. Aynı formları Stok modülünde kullanmak isterseniz, Önce Liste ve Detay olarak 2 tane form tasarımı yapın. Sonra her modül için TCariListeForm = class(TMastarListeForm) şeklinde miras alın.

Veya bu kadar kompleks olmaya gerek yok derseniz; Aynı formu tasarlarken birden fazla constructor yazın ve aynı formun içinde bir butona daha bastığınızda yeni sekmede aktif edin. Eğer ana referansınız TAG olacaksa, aynı formun içinden bir instance daha oluşturacağınız zaman TAG'ların başına eksi koyun. Cari için modül no 1 olsun. Cari formu açıldığında 1'i aktif edin. Cari formu içinden aynı formu açacağınız zaman -1 yapın. Tab kontrollerini de ona göre yönetebilirsiniz bu sayede.
{ talk is cheap show me the code. }
Cevapla
#10
Teşekkürler Abdullah Bey,
Denemeye başlıyorum. Kolay gelsin size.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi ile Json Parse İşlemi yhackup 12 736 Dün, Saat: 07:59
Son Yorum: 10.Köy
Question delphi 10.1'den 10.2' ye geçiş BY-HAYALET 10 181 18-02-2018, Saat: 12:33
Son Yorum: BY-HAYALET
  Delphi ile NVİ KPS (Kimlik Paylaşım Sistemi) web servislerine bağlanma. csunguray 9 315 07-02-2018, Saat: 13:30
Son Yorum: ismailkocacan
  Delphi Eval Hakkında narkotik 8 184 26-01-2018, Saat: 01:46
Son Yorum: narkotik
  Delphi Fonksiyonlar narkotik 6 213 15-01-2018, Saat: 23:32
Son Yorum: narkotik



Konuyu Okuyanlar: 1 Ziyaretçi