AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TabControl mit OwnerDraw klappt nicht unter Vista 64-bit

TabControl mit OwnerDraw klappt nicht unter Vista 64-bit

Offene Frage von "WalterFr"
Ein Thema von WalterFr · begonnen am 11. Aug 2008 · letzter Beitrag vom 8. Jun 2009
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#11

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

  Alt 12. Aug 2008, 13:03
windows vista ultimate sp1
  Mit Zitat antworten Zitat
WalterFr

Registriert seit: 11. Aug 2008
Ort: Ausgburg
8 Beiträge
 
Delphi 7 Professional
 
#12

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

  Alt 12. Aug 2008, 13:11
Zitat von M. Hassmann:
windows vista ultimate sp1
32-Bit oder 64-Bit???
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#13

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

  Alt 12. Aug 2008, 13:41
64 bit
  Mit Zitat antworten Zitat
WalterFr

Registriert seit: 11. Aug 2008
Ort: Ausgburg
8 Beiträge
 
Delphi 7 Professional
 
#14

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

  Alt 18. Aug 2008, 15:28
Zitat von M. Hassmann:
64 bit
Ich habe inzwischen im Verwandten-, Kollegen-, Bekannten- und Unbekannten-Kreis recherchiert und habe keinen Vista 64-Bit Rechner gefunden, bei dem die Tab-Reiter im OwnerDraw-Fall sichtbar wären.

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!!
Melde mich gleich wieder. Godot.
  Mit Zitat antworten Zitat
WalterFr

Registriert seit: 11. Aug 2008
Ort: Ausgburg
8 Beiträge
 
Delphi 7 Professional
 
#15

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

  Alt 2. Sep 2008, 12:58
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.
Melde mich gleich wieder. Godot.
  Mit Zitat antworten Zitat
win568

Registriert seit: 8. Sep 2008
121 Beiträge
 
#16

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

  Alt 8. Sep 2008, 15:30
Hi

Aber was ist nun mit D7. Werde wegen dem Bug nicht das komplette Projekt auf D2007 umstellen.
Gibt es eine Lösung ???
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#17

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

  Alt 8. Sep 2008, 15:46
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
win568

Registriert seit: 8. Sep 2008
121 Beiträge
 
#18

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

  Alt 9. Sep 2008, 06:39
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.
  Mit Zitat antworten Zitat
kopernikus

Registriert seit: 8. Feb 2008
17 Beiträge
 
Delphi 10 Seattle Professional
 
#19

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

  Alt 8. Jun 2009, 10:05
Es sind einige kleine Änderungen in der Unit Controls.pas erforderlich

(siehe auch: http://qc.embarcadero.com/wc/qcmain.aspx?d=19859):

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;
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:08 Uhr.
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