1

Konu: toolbar menu

herkese merhabalar,
4 tane form ve her birinin içerisinde toolbar menu yapmak istiyorum nasıl yapabilirim
Örnek
1)stok formu ona ait toolbar menu(tanımlamalar,hareketler,raporlar vs.vs.)
2)üretim formu ona ait toolbar menu(iş emirleri,rotalar,reçeteler,raporlar vs.vs.)

Zekeriyanın daha önceden gönderdiği bir örnek üzerinde uğraştım ama  anaformdan sonrasını bir türlü çalıştıramadım,yardımcı olabilirseniz sevinirim

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

2

Re: toolbar menu

öncelikle forma bir property ata, örneğin: otool
sonra formun activate eventine aşağıdaki kodları gir: ("form1Tool" önceden class olarak kaydedilmiş olmalıdır)
WITH ThisForm
IF !TYPE('.oTool')='O' AND !ISNULL(.oTool)
  .oTool=CREATE("form1Tool")
  .oTool.Show
*aşağıdakiler örnekleme
  .oTool.Left=.Left+.Width*4/5  && formun sol üstüne doğru pozisyon alsın)
  .oTool.Top=.Top+.Height*1/5
  .oTool.Caption=.Caption && form ile aynı caption olsun
ENDI
ENDW

VFP9 SP2

3

Re: toolbar menu

2 formda deneme yapıyorum 2 form,2toolbar
toolbarları class yaptım.
toolbar initine
#DEFINE ERR_NOFORMPARM_LOC    "You must pass a form reference to create this toolbar."
PARAMETER oForm
IF TYPE("m.oForm")#"O" OR ISNULL(m.oForm) OR UPPER(oForm.BaseClass) # "FORM"
    MESSAGEBOX(ERR_NOFORMPARM_LOC)
    RETURN .F.
ENDIF
bunu yazdım.
click ine
nodefault
yazdım
1.formun activate ine

With This
    If Type(".oToolbar")="O" And;
            !Isnull(.oToolbar)
        Return
    Endif
    .oToolbar=Create("toolsbar",Thisform)
    .oToolbar.Dock(mak_ayar.toolpzsyn-1)
    .oToolbar.Show
Endwith
yazdım
1.form çalışıyor toolbara yerleştirdiğim butonlardaki kodlar çalışıyor
1.formun toolbarındaki bir butondan 2.formu çağırdığımda
2.form açılıyor ama toolbarlar çalışmıyor(sanki enabled olmuş gibi olkuyor)
bu formlar arasında geçişi nasıl yapmalıyım

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

4 Son düzenleyen, konuka (05.11.2007 19:46:19)

Re: toolbar menu

2. form' a da bir property ata (toolbarı bağlamak için)
2. formun activeate'de aynı kodları yaz.

toolbar initine yazdığın kodlar toolbarın çalışıp çalışmaması için belirleyici değil, sadece anladığım kadarı ile ait olduğu forma ait objeler için referans gerekiyor

VFP9 SP2

5

Re: toolbar menu

2.form'a property eklemiştim, 2.formun initine hangi kodu yazacağım ?

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

6

Re: toolbar menu

hangi toolbarı ekleyeceksen, örneğin aynısı için

With This
    If Type(".oToolbar")="O" And;
            !Isnull(.oToolbar)
        Return
    Endif
    .oToolbar=Create("toolsbar",Thisform)
    .oToolbar.Dock(mak_ayar.toolpzsyn-1)
    .oToolbar.Show
Endwith


başka toolbar için gene toolbars2 yi class olarak kaydettikten sonra:
With This
    If Type(".oToolbar")="O" And;
            !Isnull(.oToolbar)
        Return
    Endif
    .oToolbar=Create("toolsbar2",Thisform)
    .oToolbar.Dock(mak_ayar.toolpzsyn-1)
    .oToolbar.Show
Endwith

VFP9 SP2

7

Re: toolbar menu

bu kodları ben formun activate ine yazdım initedemi yazılacak ?

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

8

Re: toolbar menu

bu konuyla ilgili örnek uygulaması olan varmı ?

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

9

Re: toolbar menu

tarik yazdı:

bu kodları ben formun activate ine yazdım initedemi yazılacak ?


activate evente (ben yanlış yazmışım.
Çünkü Init eventte form daha tamamalanmamış oluyor.

VFP9 SP2

10

Re: toolbar menu

toolbarlarla ilgili örnek uygulaması olan varmı ?

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

11

Re: toolbar menu

bu şekilde beceremedim, peki bir formda 3 toolbar ı nasıl çalıştırabilirim, 3 ü aynı anda değil, geçişleri birbirinin içindeki butonlardan olacak şekilde

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

12

Re: toolbar menu

önce 3 tane toolbarları bağlayacağın propery yap: form1.otool1, form1.otool2, form1.otool3 gibi

sonra form1.activate aşağıdaki kod (tool1, tool2,tool3 class olarak kaydedilmiş olsun:
WITH ThisForm
IF !TYPE('.oTool1')='O' AND !ISNULL(.oTool1)
  .oTool1=CREATE("Tool1")
  .oTool2=CREATE("Tool2")
  .oTool3=CREATE("Tool3")
  .oTool1.Show
ENDI
ENDW

form çalışırken  form1.otool1, form1.otool2, form1.otool3.Visible ile dilediğin toolu kullan

VFP9 SP2

13

Re: toolbar menu

ilgin ve sabrın  için çok teşekkür ederim toolbarları formda göstermeye kadar problemsiz geldim,bundan sonrası allah kerim smile

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

14

Re: toolbar menu

toolbarı class olarak hazırlarken
Showwindow propertisi 1 .
göstermek  .oTool1.Show ile oluyor.
---
senin örnekte aşağıdaki komut vardı

Visual Fox Pro
.oTool1=Create("toolbar1",Thisform)

burada ThisForm esas formun referansı oluyor. Toolbarın Init eventinde de şöyle (benzer) bir kod olmalı

Visual Fox Pro
PARA Xçağiranform

This.çağiranform=Xçağiranform  && toolbar class properilerine çağiranform ekledim.


Toolbar1.Command1.Click eventine diğer toolbar çıksın diye aaşağıdaki komutu yazmalısın:

Visual Fox Pro
ThisForm.çağiranform.otool2.Show  && 2. toolbarı gösteriyor

* ThisForm.çağiranform.otool2.Visible=.t.  && alternatif komut 
ThisForm.çağiranform.otool3.Hide   && 3. toolbarı gizliyor
ThisForm.Hide                              && kendi toolbarını gizliyor
VFP9 SP2