Seite 1 von 1

Gadget von einem Panel zu einen anderen Panel verschieben

Verfasst: 30.11.2006 13:27
von Clipper
Ich habe zwei Panelgadgets auf einem Fenster.
Das eine Panelgadget trägt ein Listicongadget.
Diese ListiconGadget soll per Code das Panelgadget wechseln können.

Ist das vielleicht irgendwie über die "Gadgetlist" möglich?
Parenthwnd ändern? Gibt es sowas überhaupt?
Oder geht das garnicht?

Code: Alles auswählen

hwnd=OpenWindow(0, 0, 0, 415, 350, "", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
If hwnd 
   If CreateGadgetList(hwnd) 
     ButtonGadget(4,5,310,200,25,"Zack")
     PanelGadget(1,5,5,200,300)
     AddGadgetItem(1,-1,"Pg1 Tab1")
     ListIconGadget(3,5,5,185,200,"Ich will rüber",180)
     AddGadgetItem(1,-1,"Pg1 Tab2")
     CloseGadgetList()
     PanelGadget(2,210,5,200,300)
     AddGadgetItem(2,-1,"Pg2 Tab1")
     AddGadgetItem(2,-1,"Pg2 Tab2")
     CloseGadgetList() 
  EndIf 

  Repeat 
    EventID = WaitWindowEvent() 
    If EventID = #PB_Event_Gadget 
       eg=EventGadget() 
       Select eg
          Case 4
             ; ???????????
      
       EndSelect  
    EndIf 
  Until EventID = #PB_Event_CloseWindow 
EndIf 
End 

Re: Gadget von einem Panel zu einen anderen Panel verschiebe

Verfasst: 30.11.2006 13:34
von Kiffi
> Parenthwnd ändern?

korrekt.

Code: Alles auswählen

SetParent_(HandleDesZuVerschiebendenGadgets, HandleDesNeuenParentGadgets)
Grüße ... Kiffi

Verfasst: 30.11.2006 14:15
von Clipper
Danke Kiffi :allright:

Hier jetzt komplett der Code

Code: Alles auswählen

hwnd=OpenWindow(0, 0, 0, 415, 350, "", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
If hwnd 
   If CreateGadgetList(hwnd) 
     ButtonGadget(4,5,310,200,25,"Zack")
     hPgad1=PanelGadget(1,5,5,200,300)
     AddGadgetItem(1,-1,"Pg1 Tab1")
     hLigad=ListIconGadget(3,5,5,185,200,"Ich will rüber",180)
     AddGadgetItem(1,-1,"Pg1 Tab2")
     CloseGadgetList()
     hPgad2=PanelGadget(2,210,5,200,300)
     AddGadgetItem(2,-1,"Pg2 Tab1")
     AddGadgetItem(2,-1,"Pg2 Tab2")
     CloseGadgetList() 
  EndIf 

  ; Handle des Tabreiters feststellen
  hTab1_2=FindWindowEx_(hPgad2, 0, "Static", 0) 
  hTab2_2=FindWindowEx_(hPgad2, hTab1_2, "Static", 0) 
  
  Repeat 
    EventID = WaitWindowEvent() 
    If EventID = #PB_Event_Gadget 
       eg=EventGadget() 
       Select eg
          Case 4 
             
             SetParent_(hLigad, hTab1_2)
 
       EndSelect  
    EndIf 
  Until EventID = #PB_Event_CloseWindow 
EndIf 
End