Button Abfrage

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
The_Dark_Zim-.-
Beiträge: 372
Registriert: 18.03.2008 16:53

Button Abfrage

Beitrag von The_Dark_Zim-.- »

HEY HO
Ich hab da ein Problem mit der Abfrage meiner Buttons.
Und zwar gehen die nich immer.
Hier der Code:

Code: Alles auswählen

InitMovie()
MovieName$ = OpenFileRequester("Choose the movie to play", "", "Movie files|*.*", 0)
If MovieName$
  If LoadMovie(0, MovieName$)
  
    OpenWindow(1,100,170,MovieWidth(0),MovieHeight(0), "PureBasic - Movie", #PB_Window_MaximizeGadget | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget)
    
    CreateGadgetList(WindowID(1))
    ButtonGadget(4,0,0,20,20,"Ô")
    ButtonGadget(5,25,0,20,20,"Ô")
    ButtonGadget(7,50,0,20,20,"Ô")
    ButtonGadget(6,75,0,20,20,"Ô")
    
    PlayMovie(0, WindowID(1))
    ResizeMovie(0,0,21,MovieWidth(0),MovieHeight(0))
    Repeat
    
  Event = WaitWindowEvent()
  GadgetID = EventGadget()
      
 Delay(0)

   Select WaitWindowEvent()
    Case #PB_Event_Gadget
      Select EventGadget()
        Case 4
         ResizeMovie(0,0,21,WindowWidth(1),WindowHeight(1))
        Case 5
         ResizeMovie(0,0,21,MovieWidth(0),MovieHeight(0))
        Case 6
         PauseMovie(0)
        Case 7
         ResumeMovie(0)
      EndSelect
    EndSelect
   Until WaitWindowEvent() = #PB_Event_CloseWindow
  Else
    MessageRequester("Error", "Can't load the movie...", 0)
  EndIf
 EndIf
Hoffe ihr könnt helfen.

Gruß Zim
PB: 5.xx LTS x86/x64 | WIN: 10 Pro x64, Linux Mint x64
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Code: Alles auswählen

InitMovie()
MovieName$ = OpenFileRequester("Choose the movie to play", "", "Movie files|*.*", 0)
If MovieName$
  If LoadMovie(0, MovieName$)

    OpenWindow(1,100,170,MovieWidth(0),MovieHeight(0), "PureBasic - Movie", #PB_Window_MaximizeGadget | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget)

    CreateGadgetList(WindowID(1))
    ButtonGadget(4,0,0,20,20,"Ô")
    ButtonGadget(5,25,0,20,20,"Ô")
    ButtonGadget(7,50,0,20,20,"Ô")
    ButtonGadget(6,75,0,20,20,"Ô")

    PlayMovie(0, WindowID(1))
    ResizeMovie(0,0,21,MovieWidth(0),MovieHeight(0))

    Repeat

      Select WaitWindowEvent()
        Case #PB_Event_CloseWindow
          Break
        Case #PB_Event_Gadget
          Select EventGadget()
            Case 4
              ResizeMovie(0,0,21,WindowWidth(1),WindowHeight(1))
            Case 5
              ResizeMovie(0,0,21,MovieWidth(0),MovieHeight(0))
            Case 6
              PauseMovie(0)
            Case 7
              ResumeMovie(0)
          EndSelect
      EndSelect
    ForEver
  Else
    MessageRequester("Error", "Can't load the movie...", 0)
  EndIf
EndIf
Jedesmal, wenn Du WaitWindowEvent() nutzt, wird dort das Event aus
dem Pool genommen. Du hattest 3x WaitWindowEvent() in Deinem Code,
da ist es kein Wunder, wenn events geklaut sind
:mrgreen:

Teste mal mit obigem Code weiter

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
The_Dark_Zim-.-
Beiträge: 372
Registriert: 18.03.2008 16:53

Beitrag von The_Dark_Zim-.- »

:oops: ich wieder, das kommt davon wenn man vieles einfach kopiert XD
THX scheint nun zu gehen :allright:
PB: 5.xx LTS x86/x64 | WIN: 10 Pro x64, Linux Mint x64
Antworten