Registriert seit: 10. Jan 2006
Ort: Offenbach
3.800 Beiträge
Delphi 12 Athens
|
Fenster eines OCX in einer Anwendung die eigenes Skinning verwendet
26. Jan 2011, 11:13
Hi zusammen,
ich stehe vor einem Rätsel. Ich habe ein OCX, das in eine MFC-Anwendung geladen werden kann. Die Anwendung hat ein eigenes Skinning (Name/Hersteller ist CodeJock). Das OCX wird zunächst ohne Probleme geladen und dargestellt. Wenn ich aber aus dem OCX ein TForm erzeugen und anzeigen möchte dann bekomme ich das Phänomen aus dem Anhang, es wird nicht vollständig gezeichnet, und der Rahmen ist weder geskinned noch gethemed. Die Komponenten auf der Form sind aber sehr wohl gethemed.
Das Fenster bekomme ich komplett gezeichnet, wenn ich im OnResize des Fensters SetWindowRgn mit den gewollten Infos füttere. Es siht dann wie Bild zwo aus. Dem geneigten Leser/Experten fällt natürlich sofort der extrem dicke Rand auf. BorderWidth ist auf 0...
JEtzt das i-Tüpfelchen: Ein TaskDialog zeichnet unter den gleichen Bedingungen zum Beispiel ein komplettes geskinntes Fenster (Bild3).
Weiss jemand was da los ist, bzw. wie das zu fixen geht?
Hier noch mal kurz die Rahmenbedinungen:
Windows 7 mit eingeschaltetem Aero
Exe mit Xp-Manifest und eigenem Skinning
OCX aus D2007 mit weiterem TForm
Sherlock
Oliver Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
Geändert von Sherlock (26. Jan 2011 um 11:46 Uhr)
|