Gadget von einem Panel zu einen anderen Panel verschieben

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Clipper
Beiträge: 30
Registriert: 24.12.2004 06:47
Wohnort: NRW

Gadget von einem Panel zu einen anderen Panel verschieben

Beitrag 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 
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Gadget von einem Panel zu einen anderen Panel verschiebe

Beitrag von Kiffi »

> Parenthwnd ändern?

korrekt.

Code: Alles auswählen

SetParent_(HandleDesZuVerschiebendenGadgets, HandleDesNeuenParentGadgets)
Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Clipper
Beiträge: 30
Registriert: 24.12.2004 06:47
Wohnort: NRW

Beitrag 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 
Antworten