C
Einen Keksbaum @ Martin!
Vielen lieben Dank für die Hinweise!
Also dieser Code ist mit x-Fehlern gesprickt.
static HDC h1DC; ??? verdeckt globalö h1DC. Gleiches für h2DC.
Hier kann doch gar nichts funktionieren.
Typisches GDI leak.
Da mein Code (seltsamerweise) funktionierte, hatte ich die Doppeldeklaration von h1DC übersehen. Außerdem war HDC hdc unnötig, ich habe es entfernt und alle hdc durch h2DC ersetzt.
Waruim bitte sind die PAINTSTRUCTs statisch?
Das "static" der Paintstruct war ein Relikt aus der Zeit, als ich mal versucht hatte, die Paintstruct "dauerhaft" das ganze Programm über zu benutzen - und erst beim WM_DESTROY wieder zu entfernen - was natürlich voll in die Hose ...
PAINTSTRUCT ps;
reicht völlig.
Wenn Du ein Objektin einen GDI Kontext selektierst (SelectObject), dann gekomst Du das alte Objekt zurück. Dein Objekt bleibt im Kontext und kann nicht freigegeben werden, wenn der Kontext gelöscht wird bzw. wenn Du das Objekt zerstötren willst.
Immeer den Rückgabewert sichern und am Ende der GDI-Operation wieder das alte Objekt zurück selektieren.
auf
http://msdn.microsoft.com/en-us/library/dd162957(v=vs.85).aspx
habe ich
The SelectObject function selects an object into the specified device context (DC). The new object replaces the previous object of the same type.
gefunden, daher ging ich davon aus, dass das neue Objekt das alte ersetzt und dabei das alte gelöscht wird. Nubfragen: Wie sichere ich den Rückgabewert? Mit "das alte Objekt zurückselektieren" meinst du sicher eben diesen gesicherten Rückgabewert, den ich selektieren muss?
Kekskiste @ Greenhorn!
Super Ideen!
Die mit dem point pt array hebe ich mir auf jeden Fall für später auf, solange ich mir noch nicht sicher über die Positionen der Buttons bin!
Besonders gefällt mir die Idee, den Buttons schon bei Createwindow dauerhaft die Images zuzuweisen!
Den Background in eine void am Programmende zu stecken werde ich auf jeden Fall auch ausprobieren!
Vielen lieben Dank euch zweien, ich melde mich wenn ich fertig bin (oder(wahrscheinlicher) versage 8)( )!