Nochmal Flackern von Controls
-
habe auch das problem, das wenn ich in einer sdi-anwendung ( VS2010, ribbon)
z.B. ein modales dialogfeld öffne u. dieses dann wieder schliesse, ein flackern auftritt. das gleiche passiert auch beim öffnen einer datei ( serialisierung ). habe nirgends ein "Invalidate() UpdateWindow()" oder ähnliches im code.gestern habe ich mir in der suche eigentlich alles zu diesem thema reingezogen.
danach müsste eigentlich der code von code projekt "flickerfree" die beste lösung
bringen.
http://www.codeproject.com/KB/GDI/flickerfree.aspx
habe also genau nach anweisung dieser seite die headerdatei "memdc.h" eingebunden u. den code geändert. aber da bekomme ich beim compile einen haufen fehler angezeigt:Ausgabe:
stdafx.cpp
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(29): error C2504: 'CDC': Basisklasse undefiniert
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(31): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'm_bitmap'
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(31): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(31): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(32): error C2143: Syntaxfehler: Es fehlt ';' vor ''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(32): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(32): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(33): error C2143: Syntaxfehler: Es fehlt ';' vor ''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(33): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(33): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(34): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'm_rect'
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(34): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(34): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(35): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'm_bMemDC'
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(35): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(35): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(38): error C2061: Syntaxfehler: Bezeichner 'CDC'
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(39): error C2614: 'CMemDCNeu': Unzulässige Elementinitialisierung: 'CDC' ist weder Basis noch Element
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(40): error C2065: 'pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(40): error C2065: 'NULL': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(40): error C3861: "ASSERT": Bezeichner wurde nicht gefunden.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(43): error C2065: 'm_pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(43): error C2065: 'pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(44): error C2065: 'm_oldBitmap': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(44): error C2065: 'NULL': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(45): error C2065: 'm_bMemDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(45): error C2065: 'pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(45): error C2227: Links von "->IsPrinting" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(48): error C2065: 'pRect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(48): error C2065: 'NULL': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(49): error C2065: 'pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(49): error C2227: Links von "->GetClipBox" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(49): error C2065: 'm_rect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(51): error C2065: 'm_rect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(51): error C2065: 'pRect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(54): error C2065: 'm_bMemDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(56): error C2065: 'pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(56): error C3861: "CreateCompatibleDC": Bezeichner wurde nicht gefunden.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(57): error C2065: 'pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(57): error C2227: Links von "->LPtoDP" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(57): error C2065: 'm_rect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(59): error C2065: 'm_bitmap': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(59): error C2228: Links von ".CreateCompatibleBitmap" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(59): error C2065: 'pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(59): error C2065: 'm_rect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(59): error C2228: Links von ".Width" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(59): error C2065: 'm_rect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(59): error C2228: Links von ".Height" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(60): error C2065: 'm_oldBitmap': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(60): error C2065: 'm_bitmap': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(60): error C3861: "SelectObject": Bezeichner wurde nicht gefunden.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(62): error C2065: 'pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(62): error C2227: Links von "->GetMapMode" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(62): error C3861: "SetMapMode": Bezeichner wurde nicht gefunden.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(64): error C2065: 'pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(64): error C2227: Links von "->GetWindowExt" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(64): error C3861: "SetWindowExt": Bezeichner wurde nicht gefunden.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(65): error C2065: 'pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(65): error C2227: Links von "->GetViewportExt" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(65): error C3861: "SetViewportExt": Bezeichner wurde nicht gefunden.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(67): error C2065: 'pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(67): error C2227: Links von "->DPtoLP" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(67): error C2065: 'm_rect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(68): error C2065: 'm_rect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(68): error C2228: Links von ".left" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(68): error C2065: 'm_rect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(68): error C2228: Links von ".top" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(68): error C3861: "SetWindowOrg": Bezeichner wurde nicht gefunden.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(71): error C2065: 'm_bPrinting': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(71): error C2065: 'pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(71): error C2227: Links von "->m_bPrinting" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(72): error C2065: 'm_hDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(72): error C2065: 'pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(72): error C2227: Links von "->m_hDC" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(73): error C2065: 'm_hAttribDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(73): error C2065: 'pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(73): error C2227: Links von "->m_hAttribDC" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(77): error C2065: 'm_rect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(77): error C2065: 'pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(77): error C2227: Links von "->GetBkColor" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(77): error C3861: "FillSolidRect": Bezeichner wurde nicht gefunden.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(82): error C2065: 'm_bMemDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(84): error C2065: 'm_pDC': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(84): error C2227: Links von "->BitBlt" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(84): error C2065: 'm_rect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(84): error C2228: Links von ".left" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(84): error C2065: 'm_rect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(84): error C2228: Links von ".top" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(84): error C2065: 'm_rect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(84): error C2228: Links von ".Width" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(84): error C2065: 'm_rect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(84): error C2228: Links von ".Height" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(85): error C2065: 'm_rect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(85): error C2228: Links von ".left" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(85): error C2065: 'm_rect': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(85): error C2228: Links von ".top" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(85): error C2065: 'SRCCOPY': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(88): error C2065: 'm_oldBitmap': nichtdeklarierter Bezeichner
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(88): error C3861: "SelectObject": Bezeichner wurde nicht gefunden.
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(93): error C2065: 'NULL': nichtdeklarierter Bezeichner
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\wingdi.h(3236): error C2365: "BitBlt": Erneute Definition; vorherige Definition war "Ehemals unbekannter Bezeichner".
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\wingdi.h(3252): error C2365: "CreateCompatibleBitmap": Erneute Definition; vorherige Definition war "Ehemals unbekannter Bezeichner".
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\wingdi.h(3499): error C2365: "GetBkColor": Erneute Definition; vorherige Definition war "Ehemals unbekannter Bezeichner".
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\wingdi.h(3570): error C2365: "GetClipBox": Erneute Definition; vorherige Definition war "Ehemals unbekannter Bezeichner".
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\wingdi.h(3609): error C2365: "GetMapMode": Erneute Definition; vorherige Definition war "Ehemals unbekannter Bezeichner".
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\wingdi.h(4546): error C2365: "DPtoLP": Erneute Definition; vorherige Definition war "Ehemals unbekannter Bezeichner".
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\wingdi.h(4547): error C2365: "LPtoDP": Erneute Definition; vorherige Definition war "Ehemals unbekannter Bezeichner".
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========funktioniert das nicht mehr in VS2010?
oder gibts vieleicht eine einfachere lösung?
-
Du hast den Include vor afx.h oder vor afxwin.h gesetzt!
Die Klassen sind noch nicht bekannt.
-
habs gerade ausgebessert. jetzt funktionierts auch ohne fehler u. ohne flackern.
wenn ich jetzt aber mein fenster minimiere u. wieder maximiere werden alle controls ( ca.15 ) nur sehr langsam wieder erstellt. also nacheinander sehr langsam eingeblendet. dasselbe bei der grössenveränderung des fensters.
martin, ich hab auch auf deiner seite nachgelesen.
hab "WS_CLIPCHILDREN" in PreCreateWindow eingefügt u. im Dialog ( FormView ) Clip Children auf "TRUE" gesetzt. jetzt wird mir aber nach einem maximieren des fensters kein hintergrund mehr angezeigt ( benutze OnCTLColor für den HG ).auch habe ich "OnEraseBkgnd(CDC* pDC)" nicht verwendet.
-
Keine Ahnung was das langsame Anzeigen betrifft.
Was machst Du in OnCTLColor?
-
in "OnCtlColor" ist alles OK. dort wird nur die schriftfarbe von einigen eingabefeldern geändert.
beim resizen des fensters klappt jetzt auch alles.aber "OnDraw", wurde ja für jedes steuerelement einmal aufgerufen u. damit auch
" CMemDCNeu pDC(dc);". ich denke das es das war. habe jetzt den code in "OnDraw"
geändert, damit dieser bei jedem neuzeichnen nur einmal aufgerufen wird.ich hoffe, ich mache da keinen fehler, den funktionieren tuts auf meinem rechner.
( das flackern erkenne ich eigentlich nur auf schwächeren rechnern ).Code OnDraw:
void CStundenzettelFixxxView::OnDraw(CDC* dc) { Testerx++; if(Testerx == 1) { CMemDCNeu pDC(dc); //Testerx=0; bei allen Controls auf Null setzen } }
so wird "CMemDcNeu" nur einmal aufgerufen.
habe auch "CMemDC" von der headerdatei ( code project ) in "CMemDCNeu" umbenannt, da eigentlich schon eine "CMemDc" Klasse im projekt vorhanden ist
u. diese mir wieder fehler im compile bringt.
-
Das ist doch totaler Quatsch was Du da machst! Jedes Control ist doch nur für sich selbst verantwortlich... Auch der Schmarn mit CMemDcNeu. Behebe Deine Probleme in Deinem Projekt.
Was soll das mit dem Zähler?Machst Du etwa ein Invalidate oder Redraw/UpdateWindow im OnDraw?
Woher weißt Du das in OnCtlColor alles OK ist, wenn es Redraw Probleme immer noch gibt? Evtl. ist da doch ein Bock drin.
-
wenn ich nur "CMemDC" in "OnDraw" stehen habe ( ohne zähler ), passiert das mit dem nacheinander langsam wieder angezeigten Controls wieder. da ja jedes control "OnDraw" aufruft.
habe jetzt auf CMemDC umgestellt. da kommt beim kompilieren der fehler:
c:\users\hermann\desktop\entwicklung c++ aktuell vs2010\stundenzettel fixxx ctlcolor neu !!!\stundenzettelfixxx\memdc.h(29): error C2011: 'CMemDC': 'class' Typneudefinition
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxcontrolbarutil.h(64): Siehe Deklaration von 'CMemDC'
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========CMemDC ist bereits in der header "afxcontrolbarutil.h" vorhanden!
HBRUSH CStundenzettelFixxxView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { if(nCtlColor==CTLCOLOR_DLG) { pDC->SetBkColor(RGB(0, 255, 180)); return m_hRed; } switch(pWnd->GetDlgCtrlID()) { case IDC_EDIT65: if(SamstagSonntag1 =="OK") { pDC->SetBkColor(RGB(255, 255, 0)); pDC->SetTextColor(RGB(0, 0, 255));return m_hBraunBrush; } if(SamstagSonntag1 !="OK") { pDC->SetBkColor(RGB(0, 255, 180)); pDC->SetTextColor(RGB(0, 0, 255));return m_hBlueBrush; } //********************************************************* case IDC_EDIT66: if(SamstagSonntag2 =="OK") { pDC->SetBkColor(RGB(255, 255, 0)); pDC->SetTextColor(RGB(0, 0, 255));return m_hBraunBrush; } if(SamstagSonntag2 !="OK") { pDC->SetBkColor(RGB(0, 255, 180)); pDC->SetTextColor(RGB(0, 0, 255));return m_hBlueBrush; } } return CFormView::OnCtlColor(pDC, pWnd, nCtlColor); }
-
aber wie guter stiel sieht deine Funktion auch nicht aus, dir scheinen erhebliche Grundlagen zu fehlen oder warum hast du eine If für SamstagSonntag1 =="OK" und schreibst danach SamstagSonntag1 != "OK". Wenn da nicht OK steht muß es ja ungleich sein, also kann man dann doch ein else benutzen.
-
newbi123 schrieb:
\stundenzettelfixxx\memdc.h(29): error C2011: 'CMemDC': 'class' Typneudefinition
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxcontrolbarutil.h(64): Siehe Deklaration von 'CMemDC'
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========CMemDC ist bereits in der header "afxcontrolbarutil.h" vorhanden!
Dann nimm doch den. Der tut es auch.