AGB  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

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
239 Beiträge
 
Delphi XE Professional
 
#1

TTabSheet-Caption-Ausrichtung mit Accelerator

  Alt 6. Feb 2012, 14: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 14:14 Uhr)
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
93 Beiträge
 
Delphi 2009 Professional
 
#2

AW: TTabSheet-Caption-Ausrichtung mit Accelerator

  Alt 6. Feb 2012, 14: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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
22.952 Beiträge
 
Delphi XE2 Professional
 
#3

AW: TTabSheet-Caption-Ausrichtung mit Accelerator

  Alt 6. Feb 2012, 14: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2012
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
239 Beiträge
 
Delphi XE Professional
 
#4

AW: TTabSheet-Caption-Ausrichtung mit Accelerator

  Alt 6. Feb 2012, 14: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
3.215 Beiträge
 
Delphi XE Enterprise
 
#5

AW: TTabSheet-Caption-Ausrichtung mit Accelerator

  Alt 6. Feb 2012, 15: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.
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
93 Beiträge
 
Delphi 2009 Professional
 
#6

AW: TTabSheet-Caption-Ausrichtung mit Accelerator

  Alt 6. Feb 2012, 15: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.
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
239 Beiträge
 
Delphi XE Professional
 
#7

AW: TTabSheet-Caption-Ausrichtung mit Accelerator

  Alt 6. Feb 2012, 16: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
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 · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2012 by Daniel R. Wolf