Text auf PanelGadget

Anfängerfragen zum Programmieren mit PureBasic.
DeltaG
Beiträge: 112
Registriert: 10.09.2004 18:15

Text auf PanelGadget

Beitrag von DeltaG »

Ho @all!

Bescheidene Frage: Warum wird bei dem beigefügten Code kein Text auf die Panels (Tabs) 1.1 bis 1.3 sondern nur auf 2.1 ausgegeben, aber das ButtonGadget auf 1.1 zur Anzeige gebracht?
Habe ich da ein grundsätzlicher Verständnisproblem und können auf den einzelnen Panels auf diese Art keine Texte dargestellt werden?

DeltaG

Code: Alles auswählen

Procedure Open_Test_Window()
hTestWindow=OpenWindow(1, #PB_Any, #PB_Any, 320, 288, "Test", #PB_Window_SystemMenu) 
If hTestWindow

  CreateGadgetList(WindowID(1))
    PanelGadget     (100, 8, 8, 306, 203)
      AddGadgetItem (100, -1, "Tab 1")
        PanelGadget (101, 5, 5, 290, 166)
          AddGadgetItem(101, -1, "Tab 1.1")
          Test_Button1=ButtonGadget(#PB_Any, 120, 100, 70, 16, "Test_Button1")
          TextGadget(T201, 10, 10, 270, 140, "Text für Tab 1.1.") 
          AddGadgetItem(101, -1, "Tab 1.2")
          TextGadget(T202, 10, 10, 270, 140, "Text für Tab 1.2.") 
          AddGadgetItem(101, -1, "Tab 1.3")
          TextGadget(T203, 10, 10, 270, 140, "usw.....") 
          AddGadgetItem(101, -1, "Tab 1.4")
          AddGadgetItem(101, -1, "Tab 1.5")
        CloseGadgetList()
      AddGadgetItem (100, -1,"Tab 2")
        PanelGadget (102, 5, 5, 290, 166)
          AddGadgetItem(102, -1, "Tab 2.1")
          TextGadget(T201, 10, 10, 270, 140, "Text für Tab 2.1.") 
          AddGadgetItem(102, -1, "Tab 2.2")
          AddGadgetItem(102, -1, "Tab 2.3")
        CloseGadgetList()
      AddGadgetItem (100, -1,"Tab 3")
        PanelGadget (103, 5, 5, 290, 166)
          AddGadgetItem(103, -1, "Tab 3.1")
          AddGadgetItem(103, -1, "Tab 3.2")
        CloseGadgetList()
      AddGadgetItem (100, -1,"Tab 4")
        PanelGadget (104, 5, 5, 290, 166)
          AddGadgetItem(104, -1, "Tab 4.1")
          AddGadgetItem(104, -1, "Tab 4.2")
        CloseGadgetList()
    CloseGadgetList()

EndIf
EndProcedure

Open_Test_Window()
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
walker
Beiträge: 278
Registriert: 29.08.2004 18:39
Wohnort: Bayern

Beitrag von walker »

Hi,

ohne den Code jetzt umzuschreiben.....

Code: Alles auswählen

TextGadget(T202, 10, 10, 270, 140, "Text für Tab 1.2.")
kann nicht funktionieren, da T202 nicht definiert ist und somit 0 enthält Dieses T ist bei einigen GadgetNummern vorhanden....(entfernen)
Außerdem kommen einige ID's doppelt vor, so das bereits erstellte Texte wieder "Überschrieben" werden d.H. nur an der zuletzt gesetzten Position auftauchen...
Besser: immer #PB_Any verwenden
cu
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Du willst also sowas hier?

Code: Alles auswählen

Procedure Open_Test_Window()
hTestWindow=OpenWindow(1, #PB_Any, #PB_Any, 320, 288, "Test", #PB_Window_SystemMenu)
If hTestWindow

  CreateGadgetList(WindowID(1))
    P0 = PanelGadget     (#PB_Any, 8, 8, 306, 203)
      AddGadgetItem (P0, -1, "Tab 1")
        P1 = PanelGadget (#PB_Any, 5, 5, 290, 166)
          AddGadgetItem(P1, -1, "Tab 1.1")
          Test_Button1=ButtonGadget(#PB_Any, 120, 100, 70, 16, "Test_Button1")
          TextGadget(#PB_Any, 10, 10, 270, 140, "Text für Tab 1.1.")
          AddGadgetItem(P1, -1, "Tab 1.2")
          TextGadget(#PB_Any, 10, 10, 270, 140, "Text für Tab 1.2.")
          AddGadgetItem(P1, -1, "Tab 1.3")
          TextGadget(#PB_Any, 10, 10, 270, 140, "usw.....")
          AddGadgetItem(P1, -1, "Tab 1.4")
          AddGadgetItem(P1, -1, "Tab 1.5")
        CloseGadgetList()
      AddGadgetItem (P0, -1,"Tab 2")
        P2 = PanelGadget (#PB_Any, 5, 5, 290, 166)
          AddGadgetItem(P2, -1, "Tab 2.1")
          TextGadget(#PB_Any, 10, 10, 270, 140, "Text für Tab 2.1.")
          AddGadgetItem(P2, -1, "Tab 2.2")
          AddGadgetItem(P2, -1, "Tab 2.3")
        CloseGadgetList()
      AddGadgetItem (P0, -1,"Tab 3")
        P3 = PanelGadget (#PB_Any, 5, 5, 290, 166)
          AddGadgetItem(P3, -1, "Tab 3.1")
          AddGadgetItem(P3, -1, "Tab 3.2")
        CloseGadgetList()
      AddGadgetItem (P0, -1,"Tab 4")
        P4 = PanelGadget (#PB_Any, 5, 5, 290, 166)
          AddGadgetItem(P4, -1, "Tab 4.1")
          AddGadgetItem(P4, -1, "Tab 4.2")
        CloseGadgetList()
    CloseGadgetList()

EndIf
EndProcedure

Open_Test_Window()
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
DeltaG
Beiträge: 112
Registriert: 10.09.2004 18:15

Beitrag von DeltaG »

@walker und @hardfalkon:

Danke für "den Tritt in den Hintern".

Manchmal habe ich wohl wirklich Tomaten auf den Augen. Als ich mir heute meinen Code wieder angesehen habe, ist mir der Fehler auch sofort in die Augen gesprungen. :oops:

DeltaG
Antworten