Hallo,
ich hoffe der Titel ist einigermaßen passend. Nun also zu meinem Problem:
Ich habe eine Klasse von TForm abgeleitet und übernehme deren Zeichnroutinen. Die Form wird also komplett von mir geskinnt. Das klappt soweit auch perfekt, solange es die Hautpform ist. Wird die Form jedoch erst später mit "Show" oder "ShowModal" angezeigt, so kommt es zu einem kleinen Fehler:
Klickt man mit der Maus auf die Titelleiste (nicht auf die Buttons darauf), so werden die Buttons einmal von Windows gezeichnet, lässt man die Maus wieder los, so wird meine Routine genutzt. Dies geschicht nur einmal. Wiederholt man den Vorgang, so passiert nichts ungewöhnliches. Erst wenn man das Fenster schließt und erneut öffnet.
Hier mal zwei Bilder, das erste zeigt das Fenster wie es sein soll, das zweite, wie es aussieht, wenn Windows einmal den Button zeichnet. Der geskinnte Button ist noch etwas groß, da er von einer anderen Klasse kommt und noch nicht angepasst ist, das Problem tritt aber in beiden Klassen auf:
http://pr0g.net/temp/skinform_painterror1.gif http://pr0g.net/temp/skinform_painterror2.gif
Die normale Zeichenroutine wird ja von mir abgefangen, daher kann ich es mir nicht richtig erklären.
Muetze1 (auch hier im Forum unterwegs) hatte mir gesagt, dass es an der
VCL liegen könnte.
Hat vielleicht jemand nen Tipp, wie ich das Problem beheben kann?
Edit #1: Paar Rechtschreibfehler rausgenommen
MfG Pr0g