weiss jemand, warum bei folgendem Code die TreeViewItems, die in den TreeView eingefügt werden, schwarze Schrift auf schwarzem Hintergrund haben? Dies tritt nur auf, wenn man vorher nicht mittels AddGadgetItem ein TreeViewItem hinzufügt. Muss man irgendwo einen Style ändern oder der #TVM_INSERTITEM Message spezielle Parameter mitgeben?
Danke für Eure Hilfe. Gruß -hm
Code: Alles auswählen
Global *hWnd.l
Global *hTV.l
Procedure Tree_InsertItemSort(TreeGadget, hItemParent, label.s )
; TV_INSERTSTRUCT und TV_ITEM füllen
insertstruct.TV_INSERTSTRUCT\hParent = hItemParent
insertstruct.TV_INSERTSTRUCT\hInsertAfter = #TVI_SORT
insertstruct.TV_INSERTSTRUCT\item\Mask = #TVIF_TEXT
insertstruct.TV_INSERTSTRUCT\item\pszText = @label
lResult = SendMessage_(GadgetID(TreeGadget), #TVM_INSERTITEM, 0, @insertstruct)
ProcedureReturn lResult
EndProcedure
Procedure Open_WindowMain()
*hWnd = OpenWindow(0, 307, 332, 368, 300, "Main", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If *hWnd
If CreateGadgetList(WindowID(0))
*hTV = TreeGadget(0, 10, 10, 230, 280, #PB_Tree_AlwaysShowSelection | #PB_Tree_CheckBoxes)
ButtonGadget(1, 250, 260, 110, 30, "Exit")
EndIf
EndIf
EndProcedure
Open_WindowMain()
;AddGadgetItem(0, -1, "blabla", 0)
For i=0 To 10
Tree_InsertItemSort(0, #TVI_ROOT, "bla " + Str(i))
;AddGadgetItem(0, -1, "bla " + Str(i), 0)
Next i
Repeat ; Start of the event loop
Event = WaitWindowEvent() ; This line waits until an event is received from Windows
WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
GadgetID = EventGadget() ; Is it a gadget event?
EventType = EventType() ; The event type
;You can place code here, and use the result as parameters for the procedures
If Event = #PB_Event_Gadget
If GadgetID = 0
ElseIf GadgetID = 1
End
EndIf
EndIf
Until Event = #PB_Event_CloseWindow ; End of the event loop
End