Seite 1 von 1

DrawText auf zweitem Window klappt nicht

Verfasst: 11.11.2014 21:15
von stevie1401

Code: Alles auswählen

EnableExplicit
Define win1,win2
win1=OpenWindow(#PB_Any,10,10,600,300,"Fenster1")
win2=OpenWindow(#PB_Any,10,10,600,300,"Fenster2")



 StartDrawing(WindowOutput(win2))
 DrawText(100,100,"Text")
 StopDrawing()
 
 Repeat
   
Until WaitWindowEvent()=#PB_Event_CloseWindow
 
Auf win1 klapp es.
Was muss ich tun, damit ich auf win2 schreiben kann?

Re: DrawText auf zweitem Window klappt nicht

Verfasst: 11.11.2014 21:19
von RSBasic
Es liegt daran, dass das Fenster neu gezeichnet wurde. Deshalb ist der auf dem Fenster gezeichnete Text verschwunden.
Ich empfehle dir CanvasGadget fürs Zeichen.

Re: DrawText auf zweitem Window klappt nicht

Verfasst: 12.11.2014 09:13
von Shardik
stevie1401 hat geschrieben:Was muss ich tun, damit ich auf win2 schreiben kann?

Code: Alles auswählen

EnableExplicit

Define.I Win1,Win2

Procedure DrawTextIntoWindow2()
  Shared Win2.I
  StartDrawing(WindowOutput(Win2))
  DrawText(85,100,"Text")
  StopDrawing()
EndProcedure

Win1=OpenWindow(#PB_Any,10,10,200,200,"Fenster1")
Win2=OpenWindow(#PB_Any,220,10,200,200,"Fenster2")
DrawTextIntoWindow2()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Break
    Case #PB_Event_Repaint
      If EventWindow() = Win2
        DrawTextIntoWindow2()
      EndIf
  EndSelect
ForEver

Re: DrawText auf zweitem Window klappt nicht

Verfasst: 12.11.2014 14:16
von stevie1401
Interessantes Beispiel.
Was bewirkt dieses Ereignis: #PB_Event_Repaint?
Verhindert es ein Neuzeichnen des Fensters?

Und endlich habe ich den Shared-Befehl verstanden ^^

Danke schön :allright:

Re: DrawText auf zweitem Window klappt nicht

Verfasst: 12.11.2014 14:19
von Shardik
stevie1401 hat geschrieben:Was bewirkt dieses Ereignis: #PB_Event_Repaint?
Verhindert es ein Neuzeichnen des Fensters?
#PB_Event_Repaint wird ausgelöst, wenn das Fenster neu gezeichnet werden muß, z.B. weil es durch ein anderes Fenster überdeckt war und nun wieder sichtbar wird.