Brauche Hilfe! Simples GDI
-
Also es liegt IMHO nur an nicht freigegebene GDI-Resourcen. Bei mir läuft das Programm eigentlich spitze (Windows XP) bis 10000 GDI-Objekte erstellt wurden. Also guck nochmal genau ob du alles freigibst. Du hast 4 CreateSolidBrush Aufrufe. Hast du wirklich alle Brushes mit DeleteObject wieder freigegeben?
-
Ohje, da hatte ich noch einen Brush übersehen. Ich glaube es funzt jetzt. So einfach kann es sein...
Der Tip mit DeleteObject bringt mich weiter. Danke Dir!!!
-
Ein GetDC-Aufruf hat in WM_PAINT eigentlich wenig verloren. Übergib deiner Funktion lieber das DC-Handle und nutz dieses, anstatt dir ein Neues über das Fenster-Handle zu besorgen.
[ Dieser Beitrag wurde am 12.01.2003 um 18:56 Uhr von D@niel $chumann editiert. ]
-
Danke, D@niel, für deinen Tipp. Habs geändert. Ist ja auch Quatsch, sich in jeder Funktion ein neues Handle zu besorgen, wenn das Handle schon bekannt ist.
Könnte mir vielleicht noch jemand erklären, wie ich die aktuelle Bildschirmauflösung ermittele/verändere und ein Fullscreen-Window programmiere?
Vielen Dank!
[ Dieser Beitrag wurde am 13.01.2003 um 03:29 Uhr von Bello editiert. ]
-
FullScreen: Benutze die Suchfunktion, und du wirst fündig werden.
Auflösung:LONG ChangeDisplaySettings(DWORD x, DWORD y, DWORD bpp) { DEVMODE dm; ZeroMemory(&dm,sizeof(DEVMODE)); dm.dmSize = sizeof(DEVMODE); dm.dmFields = DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT; dm.dmBitsPerPel = bpp; // Farbtiefe dm.dmPelsWidth = x; // Breite dm.dmPelsHeight = y; // Hoehe return ::ChangeDisplaySettings(&dm, 0); }
-
GetSystemMetrics() mit den Params SM_CXSCREEN bzw SM_CYSCREEN liefert dir die Auflösung.
-
Tausend Dank! Super Forum, schnelle Infos, sogar in der Nacht zum Montag um halb 4
Ihr seid NERDS!!
Nur, dass leider die Suchfunktion von diesem Forum so unendlich langsam ist, finde ich schade,...
Bis später
-
definiere unendlich langsam *g* ich finds eigentlich recht flott
(recht flott: suche "fullscreen" in winapi; ergebnis nach grob 5 sekunden)
-
bei meiner suche kam ständig "weiterleitung nach: suche fortsetzen
wahrscheinich einfach zuviele treffer gefunden. nach der 5. weiterleitung hab ich dann abgebrochen. werds nochmal probieren
-
Dann hast du wohl auf "alle Foren durchsuchen" geklickt. Wähl da einfach WinAPI Forum aus, dann gehts auch mit einer Weiterleitung.