1

Konu: Alternatif menu seçeneği

Öncelikle Herkese Merhabalar Fox Pro için Toolbar lar ve kendi standart menusu haricinde kullanılabilecek bir menu oluşturma biçimi varmıdır ? (Not Detayın Fazla olduğu bir menu için düşünüldüğünde)

2

Re: Alternatif menu seçeneği

Ben kendi treeview menumu kullaniyorum. Ornegin:

Visual Fox Pro
Create Cursor appMenu (NodeID c(20), ParentID c(20), NodeText c(50))

Local ix,jx,kx
Rand(-1)
For ix = 1 To 4
  Insert Into appMenu (NodeID, ParentID, NodeText) Values ;
    ("MenuPad"+Transform(m.ix),"","Pad"+Transform(m.ix))
  For jx = 1 To Ceiling(Rand()*5)+1
 
    Insert Into appMenu (NodeID, ParentID, NodeText) Values ;
      ("SubMenu"+Transform(m.ix)+"_"+Transform(m.jx),;
      "MenuPad"+Transform(m.ix),;
      "SubMenu "+Transform(m.ix)+" "+Transform(m.jx))
    For kx = 1 To Ceiling(Rand()*3)+1
      Insert Into appMenu (NodeID, ParentID, NodeText) Values ;
        ("SubMenu"+Transform(m.ix)+"_"+Transform(m.jx)+"_"+Transform(m.kx),;
        "SubMenu"+Transform(m.ix)+"_"+Transform(m.jx),;
        "SubMenu "+Transform(m.ix)+" "+Transform(m.jx)+" "+Transform(m.kx))
    Endfor
  Endfor
Endfor
 
PUBLIC oForm
oForm = Createobject("menuform")
oForm.Show()
 
Define Class menuform As Form
  Width = 400
  Height = 350
 
  Add Object oleTree As OleControl With ;
    Top = 10, ;
    Left = 10, ;
    Height = 300, ;
    Width = 200, ;
    Name = "OleTree", ;
    OleClass = 'MSComCtlLib.TreeCtrl'
 
  Add Object text1 As TextBox With Left = 220, Top=10, Width=200, Height = 30, Name='txtSelected'
 
  Procedure LoadMenu
    Local lcParentID, oNode
    #Define tvwFirst    0
    #Define tvwLast    1
    #Define tvwNext    2
    #Define tvwPrevious    3
    #Define tvwChild    4
 
    With This.oleTree
      .linestyle =1
      .labeledit =1
      .indentation = 5
      .PathSeparator = '\'
      .Scroll = .T.
    Endwith
 
    Select appMenu
    With This.oleTree.nodes
      Scan
        lcParentID    = Trim(ParentID)
        If Empty(ParentID)
          oNode = .Add(,tvwFirst,Trim(NodeID),Trim(NodeText) )
        Else
          oNode = .Add(lcParentID, tvwChild,Trim(NodeID),Trim(NodeText))
        Endif
        oNode = .Null.
      Endscan
    Endwith
  Endproc
 
  Procedure Init
    This.LoadMenu()
  Endproc
 
  Procedure oleTree.NodeClick
    *** ActiveX Control Event ***
    Lparameters Node
    Thisform.txtSelected.Value = Node.Key + " is selected"
  Endproc
 
  Procedure oleTree.MouseDown
    *** ActiveX Control Event ***
    Lparameters Button, Shift, x, Y
    This.Tag=Iif(Button=1,'nodeclick','')
  Endproc
 
  Procedure oleTree.KeyDown
    *** ActiveX Control Event ***
    Lparameters keycode, Shift
    This.Tag=Iif(keycode=13,'nodeclick','')
    If keycode=13
      This.NodeClick(This.SelectedItem)
    Endif
  Endproc
Enddefine

3

Re: Alternatif menu seçeneği

Çetin, çok güzel kod yazıyorsun. Hem içerik olarak, hemde estetik açıdan.

Bir projenin bitmesi için 3 seçenek vardır: hızlı, ucuz, iyi. Bu seçeneklerden iki tanesini seçiniz.

4 Son düzenleyen, ugurlu2001 (10.08.2012 12:42:19)

Re: Alternatif menu seçeneği

Mehmet abi, sana %100 katılıyorum.

Çetin Üstat sayesinde ben az yol katetmedim. Ama her defasında "benim daha 100 fırın ekmem lazım bu programcılık işinde"  dedirtecek şeyleri şapkasından pat diye çıkartıveriyor.

smile

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

5

Re: Alternatif menu seçeneği

Program "Kulwant Singh" 'e ait. Foxite den detaylarını görebilirsiniz :

İleti eklentileri

DressMenu.zip 248.68 kb, 15 kez indirildi, 2012-08-10 tarihinden itibaren 

Bu iletideki eklenti/leri indirmeye yetkiniz yok.
Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

6

Re: Alternatif menu seçeneği

Mehmet K yazdı:

Çetin, çok güzel kod yazıyorsun. Hem içerik olarak, hemde estetik açıdan.

Ya sagolun. Hic estetik acisindan iltifat almamistim:) Ama sen ekran dizaynlarimi gor, estetik hak getire, hic beceremiyorum:)

7

Re: Alternatif menu seçeneği

Estetik derken, program stilini kastetmişdim. Sonuç ekrana nasıl yansıyor, onu tabii bilemem.
Ama eminim, o da fena sayılmazdır. wink

Bir projenin bitmesi için 3 seçenek vardır: hızlı, ucuz, iyi. Bu seçeneklerden iki tanesini seçiniz.

8

Re: Alternatif menu seçeneği

cevap veren herkese teşekkürler