![]() |
Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
windows vista ultimate sp1
|
Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
Zitat:
|
Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
64 bit
|
Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
Zitat:
Ein "Herumspielen" mit dem Kompatibilitäts-Modus hat auch nix gebracht. Ich versuche jetzt einen Upgrade von Delphi7 Prof. auf ein jüngeres Delphi und hoffe, das das etwas bringt ... Jedenfalls vielen Dank für eure Bemühungen!! |
Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
Ich habe das Projekt jetzt mit dem Delphi 2007 RAD Studio compiliert und siehe da,
die Tab-Reiter sind dann auch unter Vista 64-Bit sichtbar. Ganz offensichtlich existiert da in Delphi 7 (resp. der win32 vcl) ein Bug, der dazu führt, dass der OnDrawTab unter einem 64-Bit Betriebssystem nicht aufgerufen wird. |
Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
Hi
Aber was ist nun mit D7. Werde wegen dem Bug nicht das komplette Projekt auf D2007 umstellen. Gibt es eine Lösung ??? |
Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
Und was spricht gegen umstellen?
Falls du D2007 hast kannst du ja versuchen im Quellcode zu erkennen was geändert wurde und diese Fixes nach D7 rückportieren. |
Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
Hi
Hab ich ja versucht. Das Problem ist, dass die Unterschiede im TTabControl marginal sind. Es wurde vieles in TWincontrol und TControl geändert. Und diese wiederrum kann ich nicht nachführen, da das andere Komponenten beeinflußt. |
Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
Es sind einige kleine Änderungen in der Unit Controls.pas erforderlich
(siehe auch: ![]()
Delphi-Quellcode:
procedure TWinControl.WMCompareItem(var Message: TWMCompareItem);
begin if not DoControlMsg(Message.CompareItemStruct^.hwndItem, Message) then inherited; end; procedure TWinControl.WMDeleteItem(var Message: TWMDeleteItem); begin if not DoControlMsg(Message.DeleteItemStruct^.hwndItem, Message) then inherited; end; procedure TWinControl.WMDrawItem(var Message: TWMDrawItem); begin if not DoControlMsg(Message.DrawItemStruct^.hwndItem, Message) then inherited; end; procedure TWinControl.WMMeasureItem(var Message: TWMMeasureItem); begin if not DoControlMsg(Message.IDCtl, Message) then inherited; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz