Hilfe ! Meine Schrift Flackert!
-
Hi,
Ich hab ne eigende CStatic Text Klasse erstellt!
Eigentlich hat die nur eine Dickere Schrift und eine andere Farbe...Mein Problem ist nun , wenn ich der Klasse sage das diese ein neuen Wert hat (andere schrift) dann bleibt die alte noch stehen !
Wenn ich
ShowWindow(SW_HIDE)
ShowWindow(SW_SHOW)angeben, dann zeichnet er sich zwar neu, aber mit Flackern!
Invalidate() hat auch nichts gebracht!Hier mal die Klasse:
///////////////////////////////////////////////////////////////////////////// // CText CText::CText() { } CText::~CText() { } void CText::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: Code für die Behandlungsroutine für Nachrichten hier einfügen dc.SetBkMode(TRANSPARENT); dc.SetTextColor(RGB(b1,b2,b3)); CRect D; D.right=100; D.left=0; D.top=0; D.bottom=70; dc.DrawText(_text,D,NULL); } void CText::SetText(CString Text,CString dir) { _text=Text; }
-
Hab noch was vergessen:
void CText::SetText(CString Text,CString dir)
{
_text=Text;
OnPaint();
}
-
Off-Screen DC:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dngdi/html/msdn_flicker.asp
-
Hmmmmm
Hilft mir nicht weiter!
Schon alleine deshalb weils ca. 40 Fehler gibt wenn ich versuch zu Compilieren.
Außerdem weiß ich garnicht auf welche Klasse der Code nun angewendet werden soll ? Auf die des Hauptdialoges oder direkt in der Klasse?
-
Invalidate(TRUE);
klappt zwar, aber die vorige schrift ist immernoch da.
Das muss einfach nur vorher gelöscht werden !
-
void CText::SetText(CString Text,CString dir) { _text=Text; Invalidate(TRUE); }Hast du das schon probiert?
-
Ja Ich will eine Countdown Uhr! Und wenn ich es mit Invalidate(TRUE) mach dann zeichnet er sich zwar , aber durch den Transparenten Hintergrund bleibt natürlich die alte schrift noch dastehen...
Der Hintergrund von Hauptdialog ist eine Grafik / BMP Datei !
-
Dann vielleicht per GetWindowRect die Größe deines Statictextes herausfinden, per GetWindowPos die aktuelle Position und dann Parent->InvalidateRect(Rect) mit diesen Koordinaten verwenden. Klappt natürlich nur, wenn du den Hintergrund in OnPaint neu zeichnest.
-
Schade aber nützt leider auch nichts... flackert immer

Ich glaub ich bau da jetzt DirektX rein
-
lol
-
Schick mir mal dein Beispielprojekt ...
-
Ich hab das Beispielprojekt mal auf mein Server geladen !
http://www.razyforum.de/bsp.aceWenn jemand eine Lösung zu mein Problem findet soll er es posten!
Ich wäre SEHR DANKBAR!Das Projekt besteht nur aus 2 Dateien die nicht größer als 1 kb sind...
-
Ach kommt schon

Wird doch nicht so schwer sein ?
Wer mir das Beispiel zurücksendet und die Schrift tatsächlich nicht flackert bekommt er 20 Euro auf sein Girokonto!
Ist halt wirklich dringend !THX !
-
Ich hoff, du hast meine eMail erhalten ...
-
Ja Danke !
Hat geklappt