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

Für allgemeine Fragen zur Programmierung mit PureBasic.
funker
Beiträge: 33
Registriert: 02.06.2014 12:32

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

Beitrag 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
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

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

Beitrag von NicTheQuick »

Vielleicht die 1 in 'WaitWindowEvent(1)' entfernen.

Unter Linux kann ich es sonst nicht testen.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

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

Beitrag 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?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Derren
Beiträge: 558
Registriert: 23.07.2011 02:08

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

Beitrag 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.
Signatur und so
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

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

Beitrag von ts-soft »

Hab mal wieder einen typischen EnableExplicit fehler gefunden :mrgreen:

Code: Alles auswählen

SetGadgetFont(#text_1, FontID)
Wer ist FontID?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
CodeCommander
Beiträge: 213
Registriert: 02.03.2014 16:06

Beitrag 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:
~ DELETE ~
Antworten