DrawText auf zweitem Window klappt nicht

Anfängerfragen zum Programmieren mit PureBasic.
stevie1401
Beiträge: 700
Registriert: 19.10.2014 15:51
Kontaktdaten:

DrawText auf zweitem Window klappt nicht

Beitrag 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?
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: DrawText auf zweitem Window klappt nicht

Beitrag 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.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Re: DrawText auf zweitem Window klappt nicht

Beitrag 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
stevie1401
Beiträge: 700
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: DrawText auf zweitem Window klappt nicht

Beitrag 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:
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Re: DrawText auf zweitem Window klappt nicht

Beitrag 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.
Antworten