Autor Beitrag
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: So 03.08.03 22:52 
Hi,

wenn man nen TRichEdit nimmt und da das OnKeyUp Event benutzt, dann flimmert der Text wenn man sehr schnell schreibt.. aber komischerweise selbst dann, wenn im OnKeyUp überhauptnix gemacht wird (also selbst wenn man da nur:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.RKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  //
end;


macht flackert es...

hat irgendwer ne idee was man dagegen machen kann???

Au'revoir,
Aya~

PS: DoubleBuffered bringt nix, da beim RichEdit der Text dann nichtmehr angezeigt wird... komischerweise ;)

_________________
Aya
I aim for my endless dreams and I know they will come true!
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Mi 06.08.03 11:18 
ich hab das grad bei mir ausprobliert aber da falckert nichts,
vielleicht ist der rechner ja zu langsam, und sich dadurch der text so lange zum aufbauen braucht das man es als flackern wahrnimmt.

(ich seh Aya's Antwort schon kommen: ich hab aber n 12GHz Recher mit 800GB RAM.....)
in dem fall weiß ich auch nicht weiter.

hast du ein onChange oder anderen events noch zusätzlich benutzt?

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
recall
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 449



BeitragVerfasst: Mo 11.08.03 00:25 
Bei mir flackert es immer !
Also egal, ob mit oder ohne OnKeyUp-Ereignis...

Und das ist auch logisch, denn wenn ich einen Buchstaben in eine Zeile einfüge, dann muss der RichEdit die Zeile nehmen, in einer For-Schleife bis zu dem Punkt gehen, wo ich das Zeichen einfügen will, dann das Zeichen einfügen und den Rest dazuschreiben.

Im Anschluss wird schließlich die GANZE ZEILE nochmal überschrieben.
Das ist also kein "Fehler" sondern normal (wie in DOS halt, bloß das man gar nicht mehr daran denkt, wie schwer es früher war, ein Zeichen mittendrin einzufügen :) ).

Dagegen kannst du schon etwas tun => die Windows-Messages abfangen (wird nicht leicht), neue schreiben, die unterscheiden, ob Zeichen am Zeilenende oder in der Mitte eingefügt werden (viel Spass ;) ).

Viele Grüsse.
recall
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 449



BeitragVerfasst: Mo 11.08.03 00:27 
P.S.: Du hast bei OnKeyUp die Übergabe-Variablen vergessen (Key, ShiftState). Die müssen auch noch ausgelesen werden, egal ob was im Ereignis drinsteht.
=> Das kann vielleicht das Flackern verstärken.