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)
Giriş yapmadınız. Lütfen giriş yapın yada kayıt olun.
Ö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)
Ben kendi treeview menumu kullaniyorum. Ornegin:
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
Çetin, çok güzel kod yazıyorsun. Hem içerik olarak, hemde estetik açıdan.
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.
Program "Kulwant Singh" 'e ait. Foxite den detaylarını görebilirsiniz :
Ç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:)
Estetik derken, program stilini kastetmişdim. Sonuç ekrana nasıl yansıyor, onu tabii bilemem.
Ama eminim, o da fena sayılmazdır.
cevap veren herkese teşekkürler