AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TTabSheet-Caption-Ausrichtung mit Accelerator

Ein Thema von CCRDude · begonnen am 6. Feb 2012 · letzter Beitrag vom 6. Feb 2012
Antwort Antwort
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#1

TTabSheet-Caption-Ausrichtung mit Accelerator

  Alt 6. Feb 2012, 15:03
Leider habe ich hierzu bisher nichts im Internet gefunden:

Neue Form. Ich füge ein TPageControl hinzu, dem dann 4 TTabSheet. Zwei davon bekomme eine Caption mit Accelerator, zwei ohne ("Test1", "Test2", "Test&3", "Test&4).

Angezeigt werden die Captions mit Accelerators nicht zentriert, sondern mit leicht nach rechts verschobenem Text.

Scheint so, als würde die VCL da für die Berechnung der Position des Textes da den Accelerator ignorieren.

Kennt jemand einen Workaround? Ist das schon jemandem aufgefallen?

(edit hat das eben im QC eingestellt)

Geändert von CCRDude ( 6. Feb 2012 um 15:14 Uhr)
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TTabSheet-Caption-Ausrichtung mit Accelerator

  Alt 6. Feb 2012, 15:11
Mit dem kaufmännischen Und kannst du einen Buchstaben für die Tastaturnavigation festlegen. Das Zeichen nach dem & wird dann unterstrichen angezeigt. Schreibst du zwei & nacheinander (z. B. 'Test && Bla') wird ein einzelnes & angezeigt.

Zentrieren kann man den Text im TabSheet mit einem &-Zeichen nicht.
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#3

AW: TTabSheet-Caption-Ausrichtung mit Accelerator

  Alt 6. Feb 2012, 15:14
Da diese Komponente standardmäßig von windows gezeichnet wird ... nee, kenn nix.

Selber Zeichnen oder irgendwie mit Skins arbeiten, welche das ebenfalls selber zeichnen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#4

AW: TTabSheet-Caption-Ausrichtung mit Accelerator

  Alt 6. Feb 2012, 15:28
@Andreas L: wer sagt denn, dass ich zentrieren will? Ich nutze sie als Accelerators, also genau mit der Funktion, die Du beschreibst. Zentrieren tut sie die VCL, wenn ich keinen Accelerator verwende, aber nicht korrekt, wenn ich einen verwende.

@himitsu: wird sie? Würde Windows komplett dafür verantwortlich sein, würden die Accelerators nur bei gedrückter Alt-Taste sichtbar sein, außerdem ist da so diverses anders als beim Original. Auch andere Tickets scheinen anzudeuten, dass sich das Caption-Verhalten zwischen Delphi-Versionen (und nicht zwischen Windows-Versionen) geändert hat.

Muss ja nichtmal sein, dass Delphi die selber zeichnet, aber irgendwo einen Parameter falsch übergibt...
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TTabSheet-Caption-Ausrichtung mit Accelerator

  Alt 6. Feb 2012, 16:02
Aus unserer Implementierung einer abgeleiteten Komponente:
Delphi-Quellcode:
    procedure DrawTab(TabIndex: Integer; const Rect: TRect; Active: Boolean); override;
...
procedure T...PageControl.DrawTab(TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
  inherited;
  ...
    Canvas.Brush.Style := bsSolid;
    Canvas.Font.Color := clBtnHighlight;
    Canvas.FillRect(Rect);
    Canvas.TextOut(CaptionLeft, CaptionTop, StripHotKey(Pages[PageArrayIndex].Caption));
Wir benutzen dort aus der Unit Menus die Funktion StripHotKey um das Zeichen vor dem Zeichnen zu entfernen. Natürlich passiert das auch bei der Berechnung der Textposition schon, ich habe es jetzt nur zur Illustration dorthin gepackt.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: TTabSheet-Caption-Ausrichtung mit Accelerator

  Alt 6. Feb 2012, 16:09
@Andreas L: wer sagt denn, dass ich zentrieren will?
Zitat:
Angezeigt werden die Captions mit Accelerators nicht zentriert, sondern mit leicht nach rechts verschobenem Text.
Daraus habe ich geschlossen das du die Caption zentrieren willst.
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#7

AW: TTabSheet-Caption-Ausrichtung mit Accelerator

  Alt 6. Feb 2012, 17:14
@Jaenicke: vielen Dank, werde ich gleich morgen früh mal ausprobieren!

@Andreas L: stimmt, etwas mißverständlich, ich hätte vermutlich schreiben sollen "nicht wie ohne A. angezeigt" oder "nicht wie erwartet angezeigt"; dass zentriert das erwartete Standardverhalten ist/war, steht da nicht explizit.
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:02 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