Dialoge

Anfängerfragen zum Programmieren mit PureBasic.
Bobo220673
Beiträge: 21
Registriert: 29.04.2010 22:50

Dialoge

Beitrag von Bobo220673 »

Hallo!
Ich hab hier ein kleines Problem was ich nicht so ganz verstehe. Warum geht der Button der den 2ten Dialog aufruft nur 1x? Denke mal das ist irgend ein dummer Fehler...

test.pb

Code: Alles auswählen

XIncludeFile "frmMain.pbf"
XIncludeFile "frmSettings.pbf"

Procedure frmMain_Button_Open(EventType)
  OpenfrmSettings()
EndProcedure

Procedure frmSettings_Button_Close(EventType)
  CloseWindow(frmSettings)
EndProcedure

OpenfrmMain()

Repeat
  Event = WaitWindowEvent()
  
  Select EventWindow()
      
    Case frmMain
      Select Event
        Case #PB_Event_CloseWindow
          End
      EndSelect
      frmMain_Events(Event)
      
    Case frmSettings
      Select Event
        Case #PB_Event_CloseWindow
          frmSettings_Button_Close(Event)
      EndSelect      
      frmSettings_Events(Event)
      
  EndSelect

ForEver
frmMain.pbf

Code: Alles auswählen

;
; This code is automatically generated by the FormDesigner.
; Manual modification is possible to adjust existing commands, but anything else will be dropped when the code is compiled.
; Event procedures needs to be put in another source file.
;

Global frmMain

Global Button_0

Declare frmMain_Button_Open(EventType)

Procedure OpenfrmMain(x = 0, y = 0, width = 600, height = 400)
  frmMain = OpenWindow(#PB_Any, x, y, width, height, "AppName", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  Button_0 = ButtonGadget(#PB_Any, 220, 340, 200, 40, "Dialog 2 öffnen")
EndProcedure

Procedure frmMain_Events(event)
  Select event
    Case #PB_Event_CloseWindow
      ProcedureReturn #False

    Case #PB_Event_Menu
      Select EventMenu()
      EndSelect

    Case #PB_Event_Gadget
      Select EventGadget()
        Case Button_0
          frmMain_Button_Open(EventType())          
      EndSelect
  EndSelect
  ProcedureReturn #True
EndProcedure
frmSettings.pbf

Code: Alles auswählen

;
; This code is automatically generated by the FormDesigner.
; Manual modification is possible to adjust existing commands, but anything else will be dropped when the code is compiled.
; Event procedures needs to be put in another source file.
;

Global frmSettings

Global Button_0

Declare frmSettings_Button_Close(EventType)

Procedure OpenfrmSettings(x = 0, y = 0, width = 420, height = 150)
  frmSettings = OpenWindow(#PB_Any, x, y, width, height, "Einstellungen", #PB_Window_SystemMenu | #PB_Window_WindowCentered, WindowID(frmMain))
  Button_0 = ButtonGadget(#PB_Any, 130, 90, 160, 40, "Dialog2 Schießen")
EndProcedure

Procedure frmSettings_Events(event)
  Select event
    Case #PB_Event_CloseWindow
      ProcedureReturn #False

    Case #PB_Event_Menu
      Select EventMenu()
      EndSelect

    Case #PB_Event_Gadget
      Select EventGadget()
        Case Button_0
          frmSettings_Button_Close(EventType())          
      EndSelect
  EndSelect
  ProcedureReturn #True
EndProcedure
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Dialoge

Beitrag von Kiffi »

Button_0 von frmSettings solltest Du in was anderes (beispielsweise Button_1) umbenennen.

Oder so: frmMain_Button_0 und frmSettings_Button_0

Grüße ... Peter
a²+b²=mc²
Bobo220673
Beiträge: 21
Registriert: 29.04.2010 22:50

Re: Dialoge

Beitrag von Bobo220673 »

Danke, jetzt gehts :)
Was für ein dummer Fehler.... Hätte ich auch selber drauf kommen können...
Antworten