PageControl 'ü Kullanmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

PageControl 'ü Kullanmak

Mesaj gönderen Nemesis2005 »

Formumun üstünde 1 adet PageControl var ve PageContol'de de 3 TabSheet var . form açıldığında 3 tabsheet te görünüyor birinin belli bir olay olduktan sonra görünmesini istiyorum. Nasıl Yapabilirim şimdiden teşekkürler
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Dizayn-time da nasıl bırakırsan PageControl o TabSheet de açılır!. Sen illede şu TabSheet açsın diyorsan Formun OnShow unda

Kod: Tümünü seç

PageControl1.ActivePage := TabSheet1; { veya ts_Giris TabSheet e ne isim vermişsen }
Ayrıca program çalışırken de istediğin zaman

Kod: Tümünü seç

PageControl1.ActivePage := TabSheet2;
ile istediğin tabsheet e geçebilirsin.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

Mesaj gönderen Nemesis2005 »

Benim Sorduğum TabSheet değiştirmek değil tabsheet'i göstermemek . 3 tabsheet'ten 2si görünecek biride bir olay gerçekleştiğinde görünür hale gelecek
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

TabSheet in visible özelliğini kullan. Duruma göre

Kod: Tümünü seç

TabShet1.Visible := False; 
yap.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

Mesaj gönderen Nemesis2005 »

Kullandınız mı bilmiyorum ama TabSheet'in başlığı görünüyor . Üzerine tıkladığınızda da TabSheet Visible olsa dahi tabsheet 'i gösteriyor problemim orada zaten
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

pardon visible yerine TabVisible olacak yani;

Kod: Tümünü seç

TabShet1.TabVisible := False;
işini görür.

Ayrıca balık avlamayı öğretmek misali hep verilir ya, o hesap TabSheet in properties ına bakılırsa zaten görmek mümkün:wink: :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

Mesaj gönderen Nemesis2005 »

Teşekkürler bakıpta görmemek bu olsa gerek gözümün önündeymiş. iyi çalışmalar
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

rica ederim, başarıların devamlı olsun :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

sorunum tam bu gibi olmasada buna benzer bir sorun. yapmak istediğim sorgulama formunda grid üzerine aldığım sonuçtan her hangi bir kayıt üzerine çift tıkladığımda veri giriş formunun açılması ve o kayda konumlanması. bunu yapabiliyorum fakat bu çalışmamda veri giriş formunda pagecontrol ve bunun üzerinde üç adet tabsheet kullandım. her tabsheet ayrı bir tabloya veri giriş için kullanılıyor. sorgulama formumda böyle üç tabsheet ve her biri ayrı tabloyu sorguluyor. misal vermek gerekirse sorgulama sonucunda çift klik yaptıktan sonra veri giriş formunda bulunan üçüncü tabsheet te bulunan tablodaki bir kayda konumlanmasını istiyorum. veri giriş formu açılışta birinci tabsheet görünecek şekilde ayarlı. aşağıdaki kodu kullandım fakat olmadı. bunu çözümü nasıldır sizce

Kod: Tümünü seç

procedure TFrmSorgu.DBGrid3DblClick(Sender: TObject);
begin
  if not assigned(frmverigir) then
  begin
    frmverigir:=Tfrmverigir.Create(self);
    frmverigir.Show;
    frmverigir.PageControl1.ActivePage:=tabsheet3;
    dm1.Orn4IBDSet.Active:=true;
    dm1.Orn4IBDSet.Locate('IDNO',dm1.orn4srgibqry.fieldbyname('IDNO').AsInteger,[]);
  end
  else
    frmverigir.BringToFront;
end;
kısacası konumlanmak istediğim hangi tabloda ve tabsheet üzerinde ise o aktif olsun

teşekkür ve saygılarımla
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

Kod: Tümünü seç

procedure TFrmSorgu.DBGrid3DblClick(Sender: TObject); 
begin 
  if not assigned(frmverigir) then 
  begin 
    frmverigir:=Tfrmverigir.Create(self); 
    frmverigir.Show; 
    frmverigir.PageControl1.ActivePageIndex:=2;
    dm1.Orn4IBDSet.Active:=true; 
    dm1.Orn4IBDSet.Locate('IDNO',dm1.orn4srgibqry.fieldbyname('IDNO').AsInteger,[]); 
  end 
  else 
    frmverigir.BringToFront; 
end; 

Kod: Tümünü seç

frmverigir.PageControl1.ActivePage:=tabsheet3; 
yerine

Kod: Tümünü seç

frmverigir.PageControl1.ActivePageIndex:=2;
birde boyle dene olacaktır bence
ben denedim çalışıyor;
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

ustam verdiğiniz örnek şeklinde denedim. kayıt bulmada avaliab formu oluşturmada dm1.dataseti aktiv hale getirmede ve konumlanmada sorun yok. yalnız dubleclick yaptıktan sonra ilgili form açılıyor ve pagecontroller üzerinde bulunan tabsheet ler seçilmemiş hale geliyor. form tertemiz görünüyor manuel olarak ilgili tabsheet e tıklandığında sonuç görünüyor. önceki gibi yani iki işlem birden oluyor. sorguda tıkla ilgili formu açınca ilgili tabsheet i yine tıkla.

muhakkak bir yolu olmalı ama nasıl bir yol. inşeallah buluruz

teşekkürler kolay gelsin

NOT:düzeltme. ustam küçük bir ayrıntıyı atlamışım. sıralamaların 0 dan başladığını unutmuş ve yine 3 olarak kullanmıştım sizin doğru verdiğinizi yanlış algılama olmuş. gecenin bu saatinde üşenmeyip cevap verdiğiniz. özür dilerken teşekkürlerimide belirtmek isterim.

kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

Kod: Tümünü seç

procedure TFrmSorgu.DBGrid3DblClick(Sender: TObject); 
begin 
  if not assigned(frmverigir) then 
  begin 
    frmverigir:=Tfrmverigir.Create(self); 
    frmverigir.Show; 
    frmverigir.PageControl1.ActivePageIndex:=2; 
    dm1.Orn4IBDSet.Active:=true; 
    dm1.Orn4IBDSet.Locate('IDNO',dm1.orn4srgibqry.fieldbyname('IDNO').AsInteger,[]); 
  end 
  else 
begin
    frmverigir.BringToFront; 
frmverigir.PageControl1.ActivePageIndex:=2; 
end;
end;
hocam birde böyle dene ben şimdi iki formlu bir proje açtım denedim ve çalışıyor..
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

ustam sorun sizde değil sizden özür dilerim. mesajı yazdığımda çalışmamıştı çünki index sayılarının sıfırdan başladığını unutmuş tabsheet3 değerini yine 3 olarak girmiştim bu yüzden çalışmamıştı. yazdığım mesajdan hemen sonra jeton düştü ve mesajımın altına not yazmıştım.

gayet güzel çalışıyor. teşekkür ve saygılarımla
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Cevapla