Treegadget: übergeordneten Eintrag eines Sublevels auslesen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Code: Alles auswählen

  ;///////////////////////////
  ;/ Declare variables  
  Define   WindowTitle.s = "Test"
  Define   CX.l          = 420
  Define   CY.l          = 315
  Define  *hWindow.long
  Define  *hButton.long
  Define  *hTView.long 
  Define   WindowEvent.l
  Define  n.l , hItem.l
  Define  msg.s
  
  ;///////////////////////////
  ;/ Open window
  *hWindow = OpenWindow(#PB_Any,#PB_Ignore,#PB_Ignore,CX,CY,WindowTitle) 
  
  ;///////////////////////////
  ;/ Gadgets
  CreateGadgetList(*hWindow\l)
  *hTView   = TreeGadget(#pb_any,5,5,300,300)
  *hButton  = ButtonGadget(#pb_any,313,5,100,100,"bla")

  AddGadgetItem(*hTView,0,"parent",0,1)
  AddGadgetItem(*hTView,2,"Child",0,1)
  AddGadgetItem(*hTView,3,"Child",0,1)
  
  AddGadgetItem(*hTView,4,"parent2",0,0)
  AddGadgetItem(*hTView,6,"Child2",0,1)
  AddGadgetItem(*hTView,7,"Child2",0,1)  
  
  ;///////////////////////////
  ;/ Window eventloop
  Repeat
    WindowEvent = WaitWindowEvent()  
    
    IF WindowEvent = #PB_Event_Gadget
      
      If EventGadget() = *hButton
        
        n = GetGadgetState(*hTView)
        
        hItem = SendMessage_(*hTView\l,#TVM_GETNEXTITEM,#TVGN_PARENT,GadgetItemID(*hTView, n))
        
        buffer.s = space(100)
        tv.TV_ITEM
        tv\pszText    = @buffer
        tv\mask       = #TVIF_TEXT|#TVIF_HANDLE
        tv\hItem      = hItem
        tv\cchTextMax = 100
        
        SendMessage_(*hTView\l,#TVM_GETITEM,0,tv)
        
        Debug buffer
        
      Endif 
      
    Endif 
    
  Until WindowEvent = #WM_CLOSE
  
  ;///////////////////////////
  ;/ Exit application
  End
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Beitrag von dysti »

Hey Tafkadasom2k5,

Das Problem fängt an, wenn man z.B. Seite2-> Absatz2 ausgwählt hat,
dann Seite1->Absatz1 und
-> dann direkt Absatz3 von Seite2 anklickt. Da steht dann in der gespeicherten Variablen dann Seite1 noch drin und nicht Seite2
oder habe ich dein Hinweis nicht verstanden.

gruß
Dysti
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Beitrag von dysti »

Danke, Super.
Das mit den Zeigern und Strukturen muss ich mir noch reinziehen,
damit ich verstehe was ihr gemeint habt.
Auf jeden Fall läuft es so wie erwartet. Bin einfach happy.

Dysti
Antworten