AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Definierte Zugriffstasten werden nicht unterstrichen angezeigt

Definierte Zugriffstasten werden nicht unterstrichen angezeigt

Ein Thema von gandalf100 · begonnen am 4. Feb 2013 · letzter Beitrag vom 18. Feb 2013
Antwort Antwort
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.284 Beiträge
 
Delphi 12 Athens
 
#1

AW: Definierte Zugriffstasten werden nicht unterstrichen angezeigt

  Alt 12. Feb 2013, 13:40
Funktionieren denn die Shortcuts überhaupt? Also wenn die Bitmaps zugewiesen sind und die Unterstriche nicht gezeichnet werden, was passiert wenn du bei aufgeklapptem Menü "o" oder "s" drückst?
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
gandalf100

Registriert seit: 3. Nov 2011
9 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Definierte Zugriffstasten werden nicht unterstrichen angezeigt

  Alt 12. Feb 2013, 15:00
Wenn das Menü aufgeklappt ist funktionieren die Shortcuts einwandfrei. Bem Drücken von "O" oder "S" werden die hinterlegten Procedures sauber ausgeführt.

Noch etwas ist merkwürdig:
Wenn das Menü zugeklappt ist (nur Datei ist zu lesen) und ich drücke die ALT Taste, dann wird "Datei" mit einem Rahmen umgeben und wenn man dann das Menü mit der Maus öffnet, erscheinen plötzlich die unterstrichenen Buchstaben. Allerdings ist das nur ein temporäres Verhalten und funktioniert nur 1 mal. Beim erneuten Öffnen des Menüs ist wieder alles beim alten sprich: keine unterstrichenen Buchstaben; erneutes drücken von ALT und beim nächsten Öffnen sind die unterstrichenen Buchstaben wieder da.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#3

AW: Definierte Zugriffstasten werden nicht unterstrichen angezeigt

  Alt 12. Feb 2013, 15:05
Ich habe dieses Problem mit einem TPopupMenu ebenfalls gehabt und so gelöst:
Delphi-Quellcode:
type TMyMenuItem = class(TMenuItem)
  protected
     procedure AdvancedDrawItem(ACanvas: TCanvas; ARect: TRect;
      State: TOwnerDrawState; TopLevel: Boolean); override;
  end;

type
  TMainForm = class(TForm)
    procedure popupMenuMainPopup(Sender: TObject);
  end;

var
  ShowAccel : BOOL;


procedure TMyMenuItem.AdvancedDrawItem(ACanvas: TCanvas; ARect: TRect;
      State: TOwnerDrawState; TopLevel: Boolean);
begin
    if ShowAccel AND Assigned(Self.GetParentMenu.Images) then
        State:= State - [odNoAccel];
    inherited;
end;


procedure TMainForm.popupMenuMainPopup(Sender: TObject);
begin
    SystemParametersInfo(SPI_GETMENUUNDERLINES, 0, @ShowAccel, 0);
end;

procedure TMainForm.FormShow(Sender: TObject);
begin
    if Assigned(Self.PopupMenu) then
    begin
      for i:=0 to 8 do
          Self.PopupMenu.Items.Add(TMyMenuItem.Create(Self));
    end;
end;

procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    Self.PopupMenu.Items.Clear;
end;
Ob der Code in der Form funktioniert, weiß ich nicht, weil ich das jetzt aus dem Projekt aus dem verlinkten Thread zusammenkopiert habe. Das Grundprinzip ist aber recht einfach: bei jedem Popup wird der Status der Einstellung ermittelt und in einer globalen Variable gespeichert. Ja, ich weiß, is böse , geht aber an der Stelle nicht anders, weil 2 Klassen auf diese Variable zugreifen können müssen, es sei denn, man manscht das alles zu einer Klasse zusammen, aber man kann's auch übertreiben. Beim Zeichnen eines MenuItems wird der entsprechende Status der Einstellung mit berücksichtigt, weil die VCL das nicht tut.

MfG Dalai

Geändert von Dalai (12. Feb 2013 um 15:21 Uhr) Grund: Methode FormClose ergänzt
  Mit Zitat antworten Zitat
gandalf100

Registriert seit: 3. Nov 2011
9 Beiträge
 
Delphi 2010 Professional
 
#4

AW: Definierte Zugriffstasten werden nicht unterstrichen angezeigt

  Alt 18. Feb 2013, 13:27
Erst mal vielen Dank - ich werd mir das mal in Ruhe anschauen und versuchen das nachzubauen.
  Mit Zitat antworten Zitat
Antwort Antwort

 
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 14:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz