Seite 2 von 4
Verfasst: 10.08.2007 12:57
von Yoshi
Code: Alles auswählen
Procedure Open_Window_0()
If OpenWindow(#Window_0, 213, -5, 620, 470, "New window ( 0 )", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
ImageGadget(#Image_0, 0, 0, 599, 450, Image0)
ScrollBarGadget(#ScrollBar_0, 0, 450, 620, 20, 0, 10, 3)
ScrollBarGadget(#ScrollBar_1, 600, 0, 20, 450, 0, 10, 3, #PB_ScrollBar_Vertical)
ImageGadget(#Image_2, 190, 100, 250, 250, Image1)
EndIf
If OpenWindowedScreen(WindowID(#Window_0),213,-5,620,470,0,0,0)
CreateSprite(0,250,250)
LoadSprite(0,"Parabel.bmp",0)
TransparentSpriteColor(0,RGB(0,255,0))
EndIf
EndProcedure
Jetzt meckert er nicht mehr.
Muss ich jetzt noch ImageGadget(#Image_2, 190, 100, 250, 250, Image1)
rausnhgemen?
Verfasst: 10.08.2007 14:44
von Yoshi
Also ich habe jetzt mal ein bisschen getestet und jedes mal wenn ich auf "Complimieren/Starten" klicke und er mir das Fenster öffnet kommt "PureBasic1.exe hat ein Problem festgestellt und muss beendet werden."
Code: Alles auswählen
Procedure Open_Window_0()
If OpenWindow(#Window_0, 213, -5, 620, 470, "New window ( 0 )", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
ImageGadget(#Image_0, 0, 0, 599, 450, Image0)
ScrollBarGadget(#ScrollBar_0, 0, 450, 620, 20, 0, 10, 3)
ScrollBarGadget(#ScrollBar_1, 600, 0, 20, 450, 0, 10, 3, #PB_ScrollBar_Vertical)
ImageGadget(#Image_2, 190, 100, 250, 250, Image1)
EndIf
If OpenWindowedScreen(WindowID(#Window_0),213,-5,620,470,0,0,0)
CreateSprite(0,250,250)
LoadSprite(0,"Parabel.bmp",0)
TransparentSpriteColor(0,RGB(0,255,0))
EndIf
EndIf
EndProcedure
If Open_Window_0()
Select WindowEvent()
Case #PB_Event_Menu
Select EventMenu()
Case 1
MessageRequester("Test","Teeeeeeeeeeeeeeest!",0)
EndSelect
EndSelect
EndIf
End
Verfasst: 10.08.2007 14:54
von Kiffi
Yoshi hat geschrieben:Code: Alles auswählen
If OpenWindowedScreen(WindowID(#Window_0),213,-5,620,470,0,0,0)
PB-Debugger hat geschrieben:InitSprite() must be called before using 'Screen' commands.
Grüße ... Kiffi
Verfasst: 10.08.2007 14:59
von Yoshi
Jetzt bleibt das Fenster nicht mehr offen.
Verfasst: 10.08.2007 15:07
von Kiffi
Yoshi hat geschrieben:Jetzt bleibt das Fenster nicht mehr offen.
Ägypten? Kannst Du Dich ein wenig verständlicher ausdrücken?
Verfasst: 10.08.2007 15:09
von Yoshi
Das Febster bleibt 1 Millisekunde lange offen und schließt sich anschließend wieder!
Verfasst: 10.08.2007 15:13
von Kiffi
Yoshi hat geschrieben:Das Febster bleibt 1 Millisekunde lange offen und schließt sich anschließend wieder!
ja, da fehlt die Repeat-Until-Schleife um die Abfrage der Events.
und jetzt erzähl uns bitte nicht, dass Du nicht weißt, was eine Event-Schleife ist.
Das ist Dir hier im Forum oft genug erklärt worden.
Grüße ... Kiffi
Verfasst: 10.08.2007 21:48
von Yoshi
Danke.
Jetzt hab ich nóch eine Frage zum ScrollBarGadget. Ich habe in einem Fenster ein Koodinatensystem und eine Parabel, die ich mit Hilfe des ScrollbarGadgets nach links,rechts,oben und unten verschieben möchte.
Kann ich dann in meinem Quelltext schreiben
Code: Alles auswählen
If #ScrollBar_0 +1
Then ImageGadget(#Image_2, 190, 100, 251, 250, Image1)
EndIf
If #ScrollBar_0 +2
Then ImageGadget(#Image_2, 190, 100, 252, 250, Image1)
(In der Prozedur ist Image1 so angegeben:
)
oder wäre es besser so zu schreiben:
Code: Alles auswählen
If #ScrollBar_0 =1
ImageGadget(#Image_2, 190, 100, 251, 250, Image1)
EndIf
If #ScrollBar_0 =2
ImageGadget(#Image_2, 190, 100, 252, 250, Image1)
EndIf
Verfasst: 10.08.2007 22:30
von Fluid Byte
Du überprüfst in deinem IF/THEN block der Wert einer Konstante! Diese ändert sich aber nicht. Benutze eine normale Variabel.
Verfasst: 10.08.2007 22:36
von Kaeru Gaman
ne, das müsste ja eher
Code: Alles auswählen
NewValue = GetGadgetState(#ScrollBar_0)
If NewValue <> OldValue
If NewValue > OldValue
; scrolled to the right
Else
; scrolled to the left
EndIf
OldValue = NewValue
EndIf
sein, oder irgendsowas...