Seite 1 von 1

Text im OpenWindow flackert leicht, wenn ich eine Taste..

Verfasst: 03.08.2014 16:01
von funker
Hallo, guten Tag.
Text im OpenWindow flackert leicht, wenn ich eine Taste drücke.
Wie kann man das bitte unterdrücken?

Danke.
Gruss

Code: Alles auswählen

Global font1.l

Enumeration
  #Window_0 
  #text_1
  #font
EndEnumeration

OpenWindow(#Window_0, 0, 0, 640, 480, "", #PB_Window_SystemMenu)

Font1 = LoadFont( #font, "Lucida Console" ,14)

TextGadget(#text_1, 0, 0, 640, 480, "")
SetGadgetFont(#text_1, FontID) 

Text.s = ""

Repeat
  Select WaitWindowEvent(1)
    Case #PB_Event_CloseWindow
      Break
    Case #WM_CHAR
      Char.c = EventwParam()
      If Char <> #BS
        Text + Chr(Char)
      Else
        Text = Left(Text, Len(Text) - 1)
      EndIf
      SetGadgetText(#text_1, Text)
  EndSelect
ForEver

Re: Text im OpenWindow flackert leicht, wenn ich eine Taste

Verfasst: 03.08.2014 16:15
von NicTheQuick
Vielleicht die 1 in 'WaitWindowEvent(1)' entfernen.

Unter Linux kann ich es sonst nicht testen.

Re: Text im OpenWindow flackert leicht, wenn ich eine Taste

Verfasst: 03.08.2014 16:26
von ts-soft
Font1 ist ein Integer!
Die 1 in WaitWindowEvent ist blödsinnig.
#WM_CHAR gehört in ein Callback, könnte
ansonsten in der nächsten Version nicht mehr funktionieren.
Ausserdem wäre EnableExplicit eine gute Idee.

Das nur so nebenbei, konnte aber kein Flackern feststellen.
Vielleicht eine bestimmte Windows-Version, PB-Version?

Re: Text im OpenWindow flackert leicht, wenn ich eine Taste

Verfasst: 03.08.2014 16:57
von Derren
Doch, flackert volle Kanne in 5.22, auch ohne der 1 in WaitWindowEvent()

Denke aber nicht, dass man das verhindern kann. Das TextGadget ist für statischen Text. Für Input ist das String oder EditorGadget besser geeignet. Oder das CanvasGadget mit seinem Doppelpuffer der genau dieses Flackern vermeidet.

Re: Text im OpenWindow flackert leicht, wenn ich eine Taste

Verfasst: 03.08.2014 18:16
von ts-soft
Hab mal wieder einen typischen EnableExplicit fehler gefunden :mrgreen:

Code: Alles auswählen

SetGadgetFont(#text_1, FontID)
Wer ist FontID?

Verfasst: 03.08.2014 18:42
von CodeCommander
ts-soft hat geschrieben:Hab mal wieder einen typischen EnableExplicit fehler gefunden :mrgreen:
ts-soft hat geschrieben:Ausserdem erhält derjenige, der EnableExplicit nicht nutzt, von mir z.B. keine Hilfe
Warum tust du es trotzdem? :roll: