1

Konu: formda yeni form açabilirmiyim ?

Bir form üzerinde, örneğin personel girişi yapılırken doğduğu şehirleri bulmakiçin yenibir form açıp  (ana form açıkken ) şehir bilgirini yeni formdan şeçip  bu şeçilen bilgiyi ana forma açtarabilirmiyiz...

form üzerine  form  açmakla ilgil bir  örnek kod eline  olan varmnı ?

Teşekkürler

2

Re: formda yeni form açabilirmiyim ?

önder şehir bilgileri için ayrı bir form niye açıyorsun ki

aynı formun içine bir combo koyup şehirleri ordan rahatlıkla seçtirtirsin. üstelik formda biyerler ülkemizin tüm il,ilçe ve sokaklarının olduğu dbf biyerlerde var zaten.

amma illada farklı formda yapacağım diyorsan :

1-2. formda seçtirdiğin ili bir public değişkene attırtabilirsin
2-2. formda ili seçtirdiğin alanın controlsurcunu seçili ili saklayacağın alana yazdırabilirsin.

bunlar benim aklıma gelenler

3 Son düzenleyen, cetinbasoz (11.12.2010 22:31:58)

Re: formda yeni form açabilirmiyim ?

Modal form kullan. Tek deger dondurmen gerekiyorsa, unload'da return ...

Cok deger donmesi gerekiyorsa, release yerine hide kullan ve cagiran yerden formdaki degerleri oku. Defalarca ornekleri gonderilmisti. Neyse asagida baska bir ornek daha var:

Visual Fox Pro
Local loForm

loForm = Createobject('ornek')
loForm.Show()
 
** Hide()'dan sonra kod buradan devam ediyor
Local isim, baslangic, bitis
isim = loForm.txtIsim.Value
baslangic = loForm.dtStart.Object.Value
bitis = loForm.dtEnd.Object.Value
 
loForm.Release
Release loForm
 
? m.isim, m.baslangic, m.bitis
 
Define Class ornek As Form
  WindowType = 1
  ControlBox=.f.
  Add Object lbl As Label With Caption = "Isminiz", Width=150
  Add Object txtIsim As TextBox With Left = 150
 
  Add Object lbl2 As Label With Top = 50, Width = 150, Caption='Baslangic'
  Add Object dtStart As OleControl With Top = 50, Left = 160, Height=30,OleClass='MSComCtl2.DTPicker'
  Add Object lbl3 As Label With Top = 80, Width = 150, Caption='Bitis'
  Add Object dtEnd As OleControl With Top = 80, Left = 160,Height=30, OleClass='MSComCtl2.DTPicker'
  Add Object cmd As CommandButton With Top=120, Height = 30, Caption="Tamam"
 
  Procedure cmd.Click
    Thisform.Hide()
  Endproc
Enddefine

4

Re: formda yeni form açabilirmiyim ?

Şehir bilgisini örnek olarak vermiştim.

Asıl  istediğim  form içinde form açmak.

Teşekkürler

5

Re: formda yeni form açabilirmiyim ?

bir anaform içinde form açabilirsin ama onun altında başka form açamazsın. yani içiçe formlar açamazsın. bence çetin'in söylediği şekilde yapmalısın.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

6

Re: formda yeni form açabilirmiyim ?

Çetin'in dediği gibi VFPda yollar tükenmez
ne istendiğini tam bilemiyorum, bazı uygulamalarda popup şeklinde açılan pencereler kastediliyor galiba - aşağıdakilerin kombinasyonu da olur; aklıma gelenler
İlla başka bir formun sınırları içinde olsun isteniyor ise
1- Form değil "container" Visible .t. - .f. olarak - dragdrop kodları yazılabilinir
2- Form olursa Moved Evente:
This.Left=MAX(This.Left,This.ÜstForm.Left) && geliştirilebilinir.
This.Top=MAX(This.Top,This.ÜstForm.Top) && geliştirilebilinir.
This.Maxwidth , This.MaxHeight , AlwaysOnTop... vs.

Başka bir formun içinde olması önemsizse
3- Başka Form modal özellikle AYRI data havuzundan faydalanılacaksa, Çetin'in dediği Parametre geçişleri kullanılabilinir.
4- Bir class kaydı - based on "Form" özellikle üst form ile AYNI data havuzundan faydalanılacaksa
MyForm.oAltForm=CREATE("ClassFormlu")

VFP9 SP2