MaxGUI - Canvas wird nicht gezeichnet! *GELÖST*

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

ComNik

Betreff: MaxGUI - Canvas wird nicht gezeichnet! *GELÖST*

BeitragDo, Mai 21, 2009 17:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Sad

Da teste ich dich grade mal die tolle GUI von BlitzMax, schreibe :

Code: [AUSKLAPPEN]

 Import maxgui.maxgui
Import maxgui.win32maxgui
Import maxgui.win32maxguiex
Import maxgui.cocoamaxgui
Import maxgui.fltkmaxgui
Import maxgui.drivers

nmap_main:TGadget = CreateWindow("NMap Version 1.0 ComNik",300,300,800,600,0,15)
nmap_edit:Tgadget = CreateCanvas(10,10,500,500,nmap_main,15)
ActivateGadget(nmap_edit)

Local timer:TTimer=CreateTimer(60)
Local x:Int=0

Repeat
  WaitEvent()
  Select EventID()
    Case EVENT_TIMERTICK
      RedrawGadget(nmap_edit)
    Case EVENT_WINDOWCLOSE
      End
    Case EVENT_GADGETPAINT
     Cls
     SetGraphics CanvasGraphics(nmap_edit)
     DrawRect(100,20,30,50)
     Flip
  End Select
Forever


Voller Vorfreude klicke ich auf "RUN".
... und werde begrüßt von einem leeren flackerndem Canvas Crying or Very sad

Wenn mir bitte jemand helfen könnte!

[EDIT] Ich aahbe dem programm mal gesagt, es soll etwas printen, sobald das EVENT_GADGETPAINT aufgerufen wird
... aber nix wird geprintet! Ich denke also, das das event garnicht erst aufgerufen wird...[EDIT]
WIP: Vorx.Engine
  • Zuletzt bearbeitet von ComNik am Do, Mai 21, 2009 19:55, insgesamt einmal bearbeitet

BtbN

BeitragDo, Mai 21, 2009 18:39
Antworten mit Zitat
Benutzer-Profile anzeigen
GADGET_PAINT wird immer dann ausgelöst, wenn ein Repaint nötig ist. d.h. das fenster verdeckt war und nun wieder sichtbar ist.
Wenn du etwas konstant zeichnen willst mach nen Timer und benutzt dessen event zum zeichnen.

d-bug

BeitragDo, Mai 21, 2009 18:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich empfehle dir dringend SuperStrict!
Du hast Local vergessen bei der Initialisierung der Gadgets! Der Canvas wurde einfach nicht gefunden!

BlitzMax: [AUSKLAPPEN]

SuperStrict
Framework maxgui.drivers
?Not win32
Import brl.glmax2d
?win32
Import brl.d3d7max2d
?
Import brl.timer
Import brl.eventqueue

Local nmap_main:TGadget = CreateWindow ("NMap Version 1.0 ComNik",300,300,800,600,Null)
Local nmap_edit:Tgadget = CreateCanvas(10,10,500,500,nmap_main)
ActivateGadget(nmap_edit)

Local timer:TTimer=CreateTimer(60)
Local x:Int=0

Repeat

Select WaitEvent ()
Case EVENT_TIMERTICK
RedrawGadget (nmap_edit)

Case EVENT_WINDOWCLOSE, EVENT_APPTERMINATE
End

Case EVENT_GADGETPAINT
SetGraphics (CanvasGraphics(nmap_edit))
Cls
DrawRect(100,20,30,50)
Flip
End Select

Forever



Und btbn, was macht er da? Einen Timer benutzen!
  • Zuletzt bearbeitet von d-bug am Do, Mai 21, 2009 18:45, insgesamt einmal bearbeitet

ComNik

BeitragDo, Mai 21, 2009 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank. Gezeichnet wird es schonmal! Very Happy

Allerdings drängt sich mir die Frage auf, warum ein großes graues Viereck in der mitte des Canvas prangt?!

Also an den Rändern is es schön Rot(SetClsColor) und dann isses grau Confused

lg
WIP: Vorx.Engine

d-bug

BeitragDo, Mai 21, 2009 18:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Jetzt kann ich dir leider nicht mehr folgen!

ComNik

BeitragDo, Mai 21, 2009 19:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh, also, dass was d bug sagte, hab ich gar nicht gemacht, ich hab nur bei EVENT_TIMERTICK das ganze gezeichnet.

Nun mein problem ist folgendes:
user posted image


bei folgendem code:
Code: [AUSKLAPPEN]
Import maxgui.maxgui
Import maxgui.win32maxgui
Import maxgui.win32maxguiex
Import maxgui.cocoamaxgui
Import maxgui.fltkmaxgui
Import maxgui.drivers

'Include "map_engine.bmx"

Local nmap_main:TGadget = CreateWindow("NMap Version 1.0 ComNik",300,300,800,600,0,15)
Local nmap_edit:Tgadget = CreateCanvas(10,10,500,500,nmap_main,15)
Local reset_button:tgadget = CreateButton("RESET",600,20,100,30,nmap_main,BUTTON_PUSH)

Local timer:TTimer=CreateTimer(60)
Local x:Int=0

While True
  WaitEvent()
  Select EventID()
    Case EVENT_WINDOWCLOSE
     FreeGadget(nmap_edit)
     End
    Case EVENT_GADGETACTION
     SetGadgetText(reset_button,"KLICKED!")
    Case EVENT_TIMERTICK
     SetGraphics CanvasGraphics(nmap_edit)
     SetClsColor(255,0,0)
     Cls
     DrawRect(20,20,50,50)
     Flip

    End Select
Wend



Falls jemand helfen kann...
WIP: Vorx.Engine

Holzchopf

Meisterpacker

BeitragDo, Mai 21, 2009 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Nimm bei CreateCanvas einfach den style weg (die 15)
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

ComNik

BeitragDo, Mai 21, 2009 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Holzchopf! Du bist ein Schatz Wink

Nein wirklich, vielen Dank an alle, jetz gehts endlich weiter Exclamation

lg^10
WIP: Vorx.Engine

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group