Seite 1 von 2
Fenster flackert bei Texteingabe.
Verfasst: 16.11.2014 20:46
von funkheld
Hallo, guten Tag.
Wie kann man bitte das flackern des Fenster bei der Texteingabe verhindern?
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: Fenster flackert bei Texteingabe.
Verfasst: 16.11.2014 21:24
von ts-soft
Wie oft soll dieser Beitrag noch kommen?
Verwechselst Font1.l bzw. font1.l mit FontID.
Die nutzung von API im EventLoop wird auch nicht mehr empfohlen.
Es flimmert nichts und vielleicht machste Dir die Mühe und suchst den alten Beitrag heraus,
da sollten alle antworten bereits vorhanden sein!
Re: Fenster flackert bei Texteingabe.
Verfasst: 16.11.2014 21:31
von STARGÅTE
Code: Alles auswählen
Global Text.s = ""
Enumeration
#Window_0
#text_1
#font
EndEnumeration
Procedure Callback(WindowID, Message, wParam, lParam)
If Message = #WM_CHAR
Char.c = wParam
If Char <> #BS
Text + Chr(Char)
Else
Text = Left(Text, Len(Text) - 1)
EndIf
SetGadgetText(#text_1, Text)
EndIf
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
OpenWindow(#Window_0, 0, 0, 640, 480, "", #PB_Window_SystemMenu)
SetWindowCallback(@Callback(), #Window_0)
LoadFont(#font, "Lucida Console" ,14)
TextGadget(#text_1, 0, 0, 640, 480, "")
SetGadgetFont(#text_1, FontID(#font))
Repeat
Select WaitWindowEvent(1)
Case #PB_Event_CloseWindow
Break
Case #WM_CHAR
EndSelect
ForEver
Verfasst: 16.11.2014 21:36
von CodeCommander
~ DELETE ~
Re: Fenster flackert bei Texteingabe.
Verfasst: 16.11.2014 21:41
von ts-soft
Das Problem ist, genau dieselbe Frage hat er schon mal gestellt!
Ist das jetzt Beschäftigungstherapie oder Alzheimer

Re: Fenster flackert bei Texteingabe.
Verfasst: 16.11.2014 22:17
von Micha122
Ganz ehrlich, langsam macht noch nicht mal mehr das Mitlesen hier im Forum spaß.
Ist das jetzt Beschäftigungstherapie oder Alzheimer
Ich glaube eher dieses Forum hier ist eine Art Beschäftigungstherapie für euch "Superuser" und "Alleskönner".
Und ich bin wirklich nicht der einzige, dem euer Geplänkel langsam nervt.
Entweder seit ihr Millionäre, arbeitslos, Rentner oder hab ganz einfach zu viel Zeit.
ES ZWINGT EUCH KEINER ZU ANTWORTEN! Oder noch besser, macht euer eigenes Forum auf!
Es flimmert nichts
Doch, auf einem Leistungsschwachem Rechner schon ein wenig.
Re: Fenster flackert bei Texteingabe.
Verfasst: 16.11.2014 22:26
von Tommy
Micha122 hat geschrieben:Entweder seit ihr Millionäre, arbeitslos, Rentner
http://www.seidseit.de.s48.en.wbprx.com/ 
Re: Fenster flackert bei Texteingabe.
Verfasst: 16.11.2014 22:45
von Micha122
Danke Tommy!
Wenn ich mal einen Korrekturleser benötige, melde ich mich bei dir.

Re: Fenster flackert bei Texteingabe.
Verfasst: 16.11.2014 23:22
von funkheld
--------------------------------------------------------------------
Doch, auf einem Leistungsschwachem Rechner schon ein wenig.
--------------------------------------------------------------------
2,1 Ghz 2 Cores....
Es muss doch möglich sein , von Purebasic diese kleine Flackerei abzustellen?
Warum wird hier nicht im Hintergrund aufgebaut und dann dann angezeigt, während der Rasterstrahl auf unsichtbar
geschaltet hat?
Gruss
Re: Fenster flackert bei Texteingabe.
Verfasst: 16.11.2014 23:28
von STARGÅTE
funkheld hat geschrieben:Es muss doch möglich sein , von Purebasic diese kleine Flackerei abzustellen?
funkheld hat geschrieben:Warum wird hier nicht im Hintergrund aufgebaut und dann dann angezeigt, während der Rasterstrahl auf unsichtbar geschaltet hat?
Ein Window hat kein Doppelpuffer, wie zum Beispiel ein Screen.
Wenn das TextGadget mit SetGadgetText() aktuallisiert werden muss, wird zunächst der Hintergrund gezeichnet und dann der Text selbst. Dadurch kann es zu einem kurzen flackern kommen, wenn es zu oft aktualisiert werden muss.