zeichen auf fenster
Verfasst: 30.11.2010 02:40
hallo leute,
ich bin neuling bei purebasic und versuche mich darin einzuarbeiten.
ursprünglich hatte ich vor interfaces (also sowas wie klassen) zu erstellen, mit denen ich Objekte bauen und auf einem fenster zeichnen konnte.
nun habe ich mich dazu entschlossen erstmal mit proceduren und variablen das ganze zu machen, aber hier will es auch nicht.
ich möchte keine Zeichnungen direkt im Fenster durchführen, sondern ich möchte innerhalb des Fensters eine Procedure aufrufen, das für mich das Objekt zeichnet. Ich möchte diese Procedure samt seinen ganzen kram später in eine library compilieren und diesen bei allen zukünftigen projekten in jedem fenster meiner wahl einsetzen können.
rufe ich die Zeichenfunktionen innerhalb des IF-Blocks des Fensters auf, so klappt alles. Verlagere ich den kram in die obige prozedur, so erscheint einfach nur ein leeres schwarzes fenster.
was mache ich falsch?
mfg
kurt
ich bin neuling bei purebasic und versuche mich darin einzuarbeiten.
ursprünglich hatte ich vor interfaces (also sowas wie klassen) zu erstellen, mit denen ich Objekte bauen und auf einem fenster zeichnen konnte.
nun habe ich mich dazu entschlossen erstmal mit proceduren und variablen das ganze zu machen, aber hier will es auch nicht.
ich möchte keine Zeichnungen direkt im Fenster durchführen, sondern ich möchte innerhalb des Fensters eine Procedure aufrufen, das für mich das Objekt zeichnet. Ich möchte diese Procedure samt seinen ganzen kram später in eine library compilieren und diesen bei allen zukünftigen projekten in jedem fenster meiner wahl einsetzen können.
Code: Alles auswählen
guiMode.b = 0
guiPosX.l = 10
guiPosY.l = 10
guiResW.l = 150
guiResH.l = 30
guiColorBorderL.l = RGB(250,250,250)
guiColorBorderD.l = RGB(100,100,100)
guiColorBkg.l = RGB(230,230,230)
guiColorCap.l = RGB(120,120,120)
Procedure guiButton()
If CreateImage(0, 200, 200) And StartDrawing(ImageOutput(0))
Box(guiPosX,guiPosY, guiResW, guiResH, guiColorBkg )
Line( guiPosX, guiPosY, guiResW, 1, guiColorBorderL )
Line( guiPosX, guiPosY, 1, guiResH, guiColorBorderL )
Line( guiPosX, guiPosY + guiResH, guiResW, 1, guiColorBorderD )
Line( guiPosX + guiResW, guiPosY, 1, guiResH, guiColorBorderD )
DrawText( guiPosX + 5, guiPosY + 7, "Hallo Welt", guiColorCap, guiColorBkg )
StopDrawing()
ImageGadget(0, 0, 0, 200, 200, ImageID(0))
EndIf
EndProcedure
If OpenWindow(0, 0, 0, 200, 200, "2DDrawing Beispiel", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
guiButton()
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
EndIf
was mache ich falsch?
mfg
kurt