Petit exemple
Pour tester télécharger le module
http://www.microdevweb.com/source/Tree/PBTree_1.5.zip
Ou
Lancer ce code après l'avoir sauver (exemple: launch.pb)
Code : Tout sélectionner
If FileSize("Tree.pbi")=-1
InitNetwork()
If ReceiveHTTPFile("http://www.microdevweb.com/source/Tree/Tree.pbi","Tree.pbi")=0
MessageRequester("Http Error","I can not load the Tree.pbi")
End
EndIf
EndIf
Code : Tout sélectionner
XIncludeFile "Tree.pbi"
Enumeration
#MainForm
#TreeA
#TreeB
#TreeC
EndEnumeration
Enumeration
#TP_item
#Tp_SubItem
#Tp_Text
EndEnumeration
Global gWF,gHF,gTreeD,*IcoTable,*IcoLabel,*IcoEdit
Procedure FillsTreeA()
Protected N,Txt$,R,I,Id
For N=1 To 4
Txt$="Item "
Tree::AddItem(#TreeA,-1,Txt$+Str(N),*IcoTable,0)
Tree::SetData(#TreeA,Id,#TP_item,-1)
Id+1
For R=1 To 5
Txt$="Sub Item "
Tree::AddItem(#TreeA,-1,Txt$+Str(N),*IcoLabel,1)
Tree::SetData(#TreeA,Id,#Tp_SubItem,-1)
Id+1
For I=1 To 6
Txt$="Text "
Tree::AddItem(#TreeA,-1,Txt$+Str(N),0,2)
Tree::DisableCheckBox(#TreeA,Id,#False)
Tree::SetData(#TreeA,Id,#Tp_Text,I)
Id+1
Next
Next
Next
Tree::Draw(#TreeA)
EndProcedure
Procedure FillsTreeB()
Protected N,Txt$,R,I,Id
For N=1 To 4
Txt$="Item "
Tree::AddItem(#TreeB,-1,Txt$+Str(N),*IcoTable,0)
Tree::SetData(#TreeB,Id,#TP_item,-1)
Id+1
For R=1 To 5
Txt$="Sub Item "
Tree::AddItem(#TreeB,-1,Txt$+Str(N),*IcoLabel,1)
Tree::SetData(#TreeB,Id,#Tp_SubItem,-1)
Id+1
For I=1 To 6
Txt$="Text "
Tree::AddItem(#TreeB,-1,Txt$+Str(N),0,2)
Tree::DisableCheckBox(#TreeB,Id,#False)
Tree::SetData(#TreeB,Id,#Tp_Text,I)
Id+1
Next
Next
Next
Tree::Draw(#TreeB)
EndProcedure
Procedure EventEdit(Type,Values)
Debug "Edit"
EndProcedure
Procedure FillsTreeC()
Protected N,Txt$,R,I,Id
For N=1 To 4
Txt$="Item "
Tree::AddItem(#TreeC,-1,Txt$+Str(N),*IcoTable,0)
Tree::SetData(#TreeC,Id,#TP_item,-1)
Id+1
For R=1 To 3
Txt$="Sub Item "
Tree::AddItem(#TreeC,-1,Txt$+Str(N),*IcoLabel,1)
Tree::SetData(#TreeC,Id,#Tp_SubItem,-1)
Id+1
For I=1 To 3
Txt$="Text "
Tree::AddItem(#TreeC,-1,Txt$+Str(N),0,2)
Tree::DisableCheckBox(#TreeC,Id,#False)
Tree::SetData(#TreeC,Id,#Tp_Text,I)
Tree::AddItemButton(#TreeC,Id,*IcoEdit,24,@EventEdit())
Id+1
Next
Next
Next
Tree::Draw(#TreeC)
EndProcedure
Procedure FillsTreeD()
Protected N,Txt$,R,I,Id
For N=1 To 4
Txt$="Item "
Tree::AddItem(gTreeD,-1,Txt$+Str(N),*IcoTable,0)
Tree::SetData(gTreeD,Id,#TP_item,-1)
Id+1
For R=1 To 3
Txt$="Sub Item "
Tree::AddItem(gTreeD,-1,Txt$+Str(N),*IcoLabel,1)
Tree::SetData(gTreeD,Id,#Tp_SubItem,-1)
Id+1
Next
Next
Tree::Draw(gTreeD)
EndProcedure
Procedure LoadHttpImage()
InitNetwork()
*IcoTable=ReceiveHTTPMemory("http://www.microdevweb.com/source/Tree/table.ico")
If Not *IcoTable
MessageRequester("LoadImage Error","Faillet http request ")
EndIf
*IcoLabel=ReceiveHTTPMemory("http://www.microdevweb.com/source/Tree/label.ico")
If Not *IcoLabel
MessageRequester("LoadImage Error","Faillet http request ")
EndIf
*IcoEdit=ReceiveHTTPMemory("http://www.microdevweb.com/source/Tree/pencil.ico")
If Not *IcoEdit
MessageRequester("LoadImage Error","Faillet http request ")
EndIf
EndProcedure
Procedure SelectTreeA(Type,Values)
Debug "Type: "+Str(Type)+" Values: "+Str(Values)
EndProcedure
Procedure EventCheckBoxTreeA(Item$)
Debug Item$
EndProcedure
Procedure OpenMainFomr()
LoadHttpImage()
Protected Flag=#PB_Window_Maximize|#PB_Window_SystemMenu
OpenWindow(#MainForm,0,0,800,600,"Tree module",Flag)
gWF=WindowWidth(#MainForm)
gHF=WindowHeight(#MainForm)
Protected M=10,WT=(gWF/4)-(M*2),HT=gHF-(M*2),X=M,Y=M
Tree::Create(#TreeA,X,Y,WT,HT)
Tree::AddHelp(#TreeA,#TP_item,"Title Tree A","Your are above Item")
Tree::AddHelp(#TreeA,#Tp_SubItem,"Title Tree A","Your are above Sub Item")
Tree::AddHelp(#TreeA,#Tp_Text,"Title Tree A","Your are above Text")
Tree::SetCallBackSelected(#TreeA,@SelectTreeA())
Tree::SetCallBackCheckBox(#TreeA,@EventCheckBoxTreeA())
X+M+WT
Tree::Create(#TreeB,X,Y,WT,HT)
Tree::SetIconSize(#TreeB,8,8,8)
X+M+WT
Tree::Create(#TreeC,X,Y,WT,HT)
Tree::SetIconSize(#TreeC,12,12,48)
Tree::SetColor(#TreeC,$00FF7F,$0000FF,$DCDCDC,$8515C7,$008CFF)
X+M+WT
gTreeD=Tree::Create(#PB_Any,X,Y,WT,HT)
FillsTreeA()
FillsTreeB()
FillsTreeC()
FillsTreeD()
EndProcedure
OpenMainFomr()
Global gEvent
Repeat
gEvent=WaitWindowEvent()
Until gEvent=#PB_Event_CloseWindow