Die von TButton geerbte benutzerdefinierte Schaltfläche wird nicht angezeigt

8

Ich konvertiere ein großes Projekt in Firemonkey und wir haben einige benutzerdefinierte Schaltflächen, die nicht auf dem Formular angezeigt werden. Ich habe das Problem auf ein sehr einfaches Projekt isoliert:

Mit dem folgenden Code, sowohl auf Mobilgeräten als auch auf Desktop-Computern (mit neuen Standardanwendungen in Delphi XE6), funktioniert das Erstellen von tTestButton1 einwandfrei, aber tTestButton2 wird im Formular nicht angezeigt. Wie ist das möglich?

%Vor%     
Hans 16.09.2014, 09:04
quelle

1 Antwort

4

Das Problem besteht darin, dass für das Steuerelement kein Stil registriert ist. Also ist die natürliche Lösung für Sie, das zu tun.

Aber das ist eine vernünftige Menge an Arbeit, und ich erwarte, dass alles, was Sie wirklich tun wollen, ist, dass das Steuerelement den gleichen Stil wie TButton verwendet. Erreiche das so:

%Vor%

Leiten Sie nun Ihre Klassen von TButtonBase ab.

%Vor%

Anstatt nach Stilen auf der Basis des Klassennamens des Steuerelements zu suchen, verwenden Klassen, die von TButtonBase abgeleitet sind, den Stil mit dem Namen Buttonstyle .

    
David Heffernan 16.09.2014, 09:53
quelle

Tags und Links