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 Drawtab will nicht (https://www.delphipraxis.net/187290-drawtab-will-nicht.html)

Mattze 17. Nov 2015 07:52

Drawtab will nicht
 
Hallo,

also jetzt bin ich kurz vorm Verrücktwerden!

TPageControl, ownerdraw:=true, Drawtab definiert und DrawTab wird trotzdem nicht aufgerufen.

In einem anderen Programm (von mir) geht es problemlos.

Was könnte das sein?

(D7 pro unter Win7 pro 64)

Gruß
Mattze

TiGü 17. Nov 2015 09:20

AW: Drawtab will nicht
 
Eventhandler ist auch wirklich verlinkt im Objektinspektor?

Mattze 17. Nov 2015 09:38

AW: Drawtab will nicht
 
Natürlich!

Ich habe mal alles rausgeschmissen, was nicht nötig ist.
Es bleibt das Formular mit einem TPageControl und einem Label (caption gesetzt in drawtab zur Kontrolle).
Lediglich Pagecontrol.ownerdraw:= true gesetzt und OnDrawTab geschrieben.

Nix! Wird gar nicht aufgerufen!

Bei anderen Projekten (Programmen) von mir gab's da noch nie Probleme!
Auch jetzt nicht, wenn die neu compiliert werden!!!

Gruß
Mattze

baumina 17. Nov 2015 10:05

AW: Drawtab will nicht
 
In der dfm nachschauen, ob OnDrawTab zugewiesen und sonst alles normal und richtig ausschaut, vielleicht hats da ja irgendwelche komischen Sachen drin.

Mattze 17. Nov 2015 10:15

AW: Drawtab will nicht
 
Hallo baumina,

soweit ich weiß, ist alles richtig. Und trotzdem...
Hier der relevante Ausschnitt aus der dfm:
Delphi-Quellcode:
  object PageControl1: TPageControl
    Left = 8
    Top = 16
    Width = 873
    Height = 513
    ActivePage = TabSheet3
    OwnerDraw = True
    TabOrder = 0
    OnDrawTab = PageControl1DrawTab
    object TabSheet1: TTabSheet
      Caption = 'TabSheet1'
    end
    object TabSheet2: TTabSheet
      Caption = 'TabSheet2'
      ImageIndex = 1
    end
    object TabSheet3: TTabSheet
      Caption = 'TabSheet3'
      ImageIndex = 2
    end
  end
Gruß
Mattze

Sailor 17. Nov 2015 21:35

AW: Drawtab will nicht
 
Klappt doch. Setze mal einen Breakpoint in TCustomTabControl.DrawTab von ComCtrls in die Zeile "IF Assigned(FOnDrawTab)".

Delphi-Quellcode:
  PROCEDURE TShellForm.PageControlDrawTab(control:TCustomTabControl; tab_index:Integer; CONST rect:TRect; active:Boolean);
   BEGIN
    WITH PageControl
     DO Canvas.TextOut(rect.Left+5,6,Pages[tab_index].Caption)
   END; {OF PROCEDURE TShellForm.PageControlDrawTab}

Mattze 18. Nov 2015 06:48

AW: Drawtab will nicht
 
Hallo,

klappt doch... nicht!
Der Breakpoint wird bei mir nicht angesprungen.

Ich weiß nicht, warum es bisher ging und nun nicht mehr.
Wenn ich ein älteres Programm neu übersetze, funktioniert es ja auch weiterhin!
("älteres Programm" hört sich gut an. Gemeint ist z. Bsp. ein Programm von vor etwa einem Monat.)

Gruß
Mattze

Sailor 18. Nov 2015 07:48

AW: Drawtab will nicht
 
Hast Du compiliert mit Debug DCUs an?

Mattze 18. Nov 2015 11:41

AW: Drawtab will nicht
 
Hallo,

habe ich immer an, solange ich ein Programm entwickle.
Habe auch gerade nochmals nachgeschaut - sicher ist sicher.
Ist an.
Funktioniert trotzdem nicht.

Gruß
Mattze

Fritzew 18. Nov 2015 12:16

AW: Drawtab will nicht
 
Hast Du Themes aktiviert?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:47 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