Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TabControl mit OwnerDraw klappt nicht unter Vista 64-bit (https://www.delphipraxis.net/118613-tabcontrol-mit-ownerdraw-klappt-nicht-unter-vista-64-bit.html)

WalterFr 11. Aug 2008 15:14


TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
 
Hallo,

ich verwende ein TPageControl und zeichne die einzelnen Tabs selber;
ich setze also OwnerDraw auf True und hänge an den OnDrawTab meinen Code.

Funktionierte bisher völlig problemlos - bis ich auf Vista 64-bit umgestiegen
bin; dort werden die Tabs nicht gezeichnet, sie bleiben leer, nix ist zu
sehen. Mit Vista 32-bit läuft's einwandfrei.

Ein Debugger-Breakpoint in der OnDrawTab-Methode wird nicht erreicht, d.h.
unter Vista 64-bit wird die OnDrawTab-Methode gar nicht aufgerufen!!!
Dasselbe passiert beim TTabControl.

Ich setze Delphi 7 ein und verwende im Projekt ein XPManifest.


Was mache ich falsch - bzw. was macht Vista 64-bit anders als die anderen
Windows-Mutationen?

Ich bin für jeden Hinweis dankbar!

Bernhard Geyer 11. Aug 2008 15:19

Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
 
Aktuellen Grafikkartentreiber installiert (meine Standardfrage bei Vista nachdem ich hier schon genügend Probleme damit hatte)

WalterFr 11. Aug 2008 15:32

Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
 
Zitat:

Zitat von Bernhard Geyer
Aktuellen Grafikkartentreiber installiert (meine Standardfrage bei Vista nachdem ich hier schon genügend Probleme damit hatte)

Was sollte der Grafikkartentreiber damit zu tun haben, dass der OnDrawTab-Handler unter Vista 64-bit nicht aufgerufen wird, unter Vista 32-bit dagegen schon? Außerdem bleiben ja NUR die Register leer, die Tabsheets selber werden problemlos gezeichnet ...

Bernhard Geyer 11. Aug 2008 15:45

Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
 
Zitat:

Zitat von WalterFr
Was sollte der Grafikkartentreiber damit zu tun haben, dass der OnDrawTab-Handler unter Vista 64-bit nicht aufgerufen wird, unter Vista 32-bit dagegen schon? Außerdem bleiben ja NUR die Register leer, die Tabsheets selber werden problemlos gezeichnet ...

Die Treiberuntiefen sind tief. z.B. ActiveX-Control läuft im IE problemlos. Ist das ActiveX per IE (TWEbBrowser) in die eigene Anwendung eingebunden erfolgt keine korrekte Anzeige. Treiberupdate behebt dieses Problem.

WalterFr 11. Aug 2008 16:15

Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
 
Zitat:

Zitat von Bernhard Geyer
Die Treiberuntiefen sind tief. z.B. ActiveX-Control läuft im IE problemlos. Ist das ActiveX per IE (TWEbBrowser) in die eigene Anwendung eingebunden erfolgt keine korrekte Anzeige. Treiberupdate behebt dieses Problem.

Ich glaube nicht, dass das Problem was mit dem Grafikkartentreiber zu tun hat.
Schließlich funktioniert ein TPageControl mit OwnerDraw = False problemlos.

Der OnDrawTab-Event wird unter Vista 64-bit einfach nicht aufgerufen, was mir ein
Problem zwischen der Win32 VCL von Delphi 7 und Vista 64-bit zu sein scheint. Ich
hab sogar die Vermutung, dass man das Problem auf jedem beliebigen 64-bit Windows
reproduzieren könnte ... mir steht aber nur Vista 64-bit zur Verfügung.

Bernhard Geyer 11. Aug 2008 17:21

Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
 
Zitat:

Zitat von WalterFr
Ich glaube nicht, dass das Problem was mit dem Grafikkartentreiber zu tun hat.
Schließlich funktioniert ein TPageControl mit OwnerDraw = False problemlos.

Ein aktueller Treiber wäre schnell installiert.

Zitat:

Zitat von WalterFr
Der OnDrawTab-Event wird unter Vista 64-bit einfach nicht aufgerufen, was mir ein
Problem zwischen der Win32 VCL von Delphi 7 und Vista 64-bit zu sein scheint. Ich
hab sogar die Vermutung, dass man das Problem auf jedem beliebigen 64-bit Windows
reproduzieren könnte ... mir steht aber nur Vista 64-bit zur Verfügung.

Dann stell doch mal ein kleine Demo-App zur verfügung. Es wird genügend User hier geben die entweder Vista 64 einsetzen oder schnell in einer VM (wie ich) starten können. Dann sehen wir ja was ist.

WalterFr 12. Aug 2008 12:06

Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Bernhard Geyer
Dann stell doch mal ein kleine Demo-App zur verfügung. Es wird genügend User hier geben die entweder Vista 64 einsetzen oder schnell in einer VM (wie ich) starten können. Dann sehen wir ja was ist.

Okay. Ich habe mal die Sourcen und ein EXE ohne Laufzeit-Packages gezippt und angehängt.
Das Formular enthält jeweils ein PageControl und TabControl mit OwnerDraw = True (oben) und OwnerDraw = False (unten).

semo 12. Aug 2008 12:36

Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
 
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang ein Screenshot.
Bitte prüfe einmal wohin du das projekt gespeichert hast.
Im Programmverzeichnis von Delphi 7?
Schieb es einmal in einen anderen Ordner - auf dem Desktop zum Beispiel.

Bernhard Geyer 12. Aug 2008 12:44

Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
 
Unter meiner VM-Ware installation werden die Tab-Laschen bei OwnerDraw = True nicht gezeichnet.

WalterFr 12. Aug 2008 13:02

Re: TabControl mit OwnerDraw klappt nicht unter Vista 64-bit
 
Zitat:

Zitat von M. Hassmann
Im Anhang ein Screenshot.
Bitte prüfe einmal wohin du das projekt gespeichert hast.
Im Programmverzeichnis von Delphi 7?
Schieb es einmal in einen anderen Ordner - auf dem Desktop zum Beispiel.

Ich kann es schieben, wohin ich will, unter Vista 64-bit sind die Tabs leer. Unter allen 32-bit Windowsen sieht das Formular so aus, wie auf deinem Screenshot.

Unter welchem Windows hast du die Demo laufen lassen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:30 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz