![]() |
Shortcuts: Vollbildmodus auf STRG+V
Hallo!
Folgendes Problem: Für mein ZeichenProgram brauche ich einen Vollbildmodus. Die nötigen Prozeduren dazu sind bereits fertig. Allerdings sollten sie beim drücken von "STRG+V" ausgelöst werden. Dazu habe ich der Eigenschaft "Shortcut" eines Menüpunkts diesen Wert zugewiesen. Das Programm reagiert aber nicht drauf :( Vielleich muss ich die Tastenkombination auf der Form-Ebene abfangen? Wie lass ich mein Programm beim Auslösen von STRG+V eine bestimmte Prozedur starten? Danke im Vorraus! |
Re: Shortcuts: Vollbildmodus auf STRG+V
STRG + V ist ein globaler Hotkey der überall gillt und steht für Einfügen.
STRG + C ist kopieren und STRG + X ist ausschneiden. |
Re: Shortcuts: Vollbildmodus auf STRG+V
Hallo nano,
tue dir und den Benutzern deines Programms einen Gefallen und nimm den ShortCut Alt+Enter. Grüße vom marabu |
Re: Shortcuts: Vollbildmodus auf STRG+V
Okay, hab jetzt auf "Alt+Enter" geändert.... Trotzdem wird die Prozedur nicht aufgerufen :(
|
Re: Shortcuts: Vollbildmodus auf STRG+V
Üblicherweise rufst du die Prozedur zum Einstellen oder Abstellen des Vollbildmodus aus einer Action auf. Wenn du die Action dem Toggle-MenuItem "Ansicht | Vollbildmodus" im Hauptmenü deiner Form zuweist, dann wird es funktionieren.
marabu |
Re: Shortcuts: Vollbildmodus auf STRG+V
verstehe nicht ganz, was du meinst
ich hatte vorher eine ganz normale onclick prozedur hab sie dann auch anschließend als Action umgeschrieben.. es klappt trotzdem nicht :( |
Re: Shortcuts: Vollbildmodus auf STRG+V
Hallo nano,
ich verwende eine Action "FullScreenAction" und ein MenuItem "miFullScreen".
Delphi-Quellcode:
Der ShortCut ist selbstredend Alt+Enter. Das ist mein Code:
object DemoForm: TDemoForm
... object MainMenu: TMainMenu Left = 60 Top = 92 object ViewMenu: TMenuItem Caption = '&Ansicht' object miFullScreen: TMenuItem Action = FullScreenAction end end end object ActionList: TActionList Left = 128 Top = 52 object FullScreenAction: TAction Caption = '&FullScreen' ShortCut = 32781 OnExecute = FullScreenActionExecute end end end
Delphi-Quellcode:
Funktioniert bei mir. Was machst du anders?
type
TDemoForm = class(TForm) MainMenu: TMainMenu; ViewMenu: TMenuItem; miFullScreen: TMenuItem; ActionList: TActionList; FullScreenAction: TAction; procedure FullScreenActionExecute(Sender: TObject); end; implementation procedure TDemoForm.FullScreenActionExecute(Sender: TObject); begin with FullScreenAction do begin Checked := not Checked; SetFullScreenMode(Checked); end; end; marabu |
Re: Shortcuts: Vollbildmodus auf STRG+V
Liste der Anhänge anzeigen (Anzahl: 1)
Ich weiss wo das Problem liegt. Nun, ich wollte bei mir ähnliches Menü erstellen, wie bei Delphi selbst, d.h. wo man einzelne Panels und Menüs verschieben kann. Dazu habe ich dann einfach ein CoolBar hergenommen und dort alle meine Panels und Menüs gelagert. Funktioniert einwandfrei. Allerdings ist die Eigenschaft Menu vom Formular leer (wenn ich dort mein MainMenü eintragen würde, hätte ich neben dem Menü im Coolbar genauso eins oben drüber.
Wie kann man das umgehen? ps: siehe Anhang |
Re: Shortcuts: Vollbildmodus auf STRG+V
Zitat:
|
Re: Shortcuts: Vollbildmodus auf STRG+V
Zitat:
|
Re: Shortcuts: Vollbildmodus auf STRG+V
Zitat:
|
Re: Shortcuts: Vollbildmodus auf STRG+V
Hi nano,
Zitat:
Grüße vom marabu |
Re: Shortcuts: Vollbildmodus auf STRG+V
Das wäre in meinem Fall viel zu umständlich, wenn ich alles verstanden habe.
Mein Menü momentan sieht folgendermaßen aus: Im TCoolBar habe ich mehrere TToolBars (Menü, Werkzeugpaletten und so weiter). Einem der Toolbars habe ich bei der Eigenschaft Menu das von mit benötigte TMainMenu zugewiesen. Das alles sieht so aus, wie auf dem Bild oben gezeigt. Kann ich den Tastendruck nicht irgendwie anders abfangen? |
Re: Shortcuts: Vollbildmodus auf STRG+V
Hallo nano,
Zitat:
Zitat:
marabu |
Re: Shortcuts: Vollbildmodus auf STRG+V
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe im Programm nirgendwo Tastendrucke abgefangen :-// Komisch..
Im Anhang ist das Programm |
Re: Shortcuts: Vollbildmodus auf STRG+V
Nano, du verwendest die Action nicht korrekt. So geht's:
Delphi-Quellcode:
marabu
procedure TMain.VollbildmodusExecute(Sender: TObject);
begin with VollbildModus do begin Checked := not Checked; if Checked then begin ... |
Re: Shortcuts: Vollbildmodus auf STRG+V
Sorry, hab noch sehr wenig Erfahrung, daher so viele Fragen..
Also.. hab das jetzt so umgeschrieben
Delphi-Quellcode:
aber es klappt trotzdem nicht *verzweifelt*
procedure TMain.VollbildmodusExecute(Sender: TObject);
begin with Vollbildmodus do begin Checked := not Checked; if Checked then begin SidePanelVisible:= SidePanel.Visible; CoolBarVisible:= CoolBar.Visible; SidePanel.Visible:= false; CoolBar.Visible:= false; Status.Visible:= false; Main.BorderStyle:= bsNone; Main.WindowState:= wsMaximized; end else begin SidePanel.Visible:= SidePanelVisible; CoolBar.Visible:= CoolBarVisible; Status.Visible:= true; Main.BorderStyle:= bsSizeable; Main.WindowState:= wsNormal; end; end; end; sorry, stehe jetzt echt auf der Leitung... |
Re: Shortcuts: Vollbildmodus auf STRG+V
Deinen Code kann ich bei mir leider nicht ausführen, da ich nicht alle Komponenten installiert habe, die du verwendest. Setze doch mal einen BreakPoint hinter das erste BEGIN in VollBildModusExecute - und ergänze beim Quellcode in deinem Beitrag das fehlende delphi open-tag.
Wenn dein Code nicht über den ShortCut Alt+Enter ausgeführt wird, dann sollte er zumindest über einen Maus-Klick auf den Menüpunkt ausgeführt werden. Hast du das schon überprüft? marabu |
Re: Shortcuts: Vollbildmodus auf STRG+V
ja das funktioniert wie geschmiert
Alt+Enter funktioniert auch wenn ich der Eigenschaft Menu des Formulars mein Menü zuordne. Aber ich will's halt eben in der Coolbar haben. ps: Um das Programm auszuführen musst du nur die Graphics32 Komponenten löschen. die eine Heisst ornament, die andere pinseldemo.. |
Re: Shortcuts: Vollbildmodus auf STRG+V
Da sind eine Reihe Komponenten zusätzlich zu denen die du nennst, die bei mir fehlen, aber egal. Wenn der ShortCut Alt+Enter durch irgendeine Komponente absorbiert werden sollte, dann kannst du das leicht feststellen, indem du einen anderen ShortCut (z.B. Alt+T) zum Testen wählst. Grundsätzlich funktionieren bei mir globale ShortCuts im CoolBar. Vielleicht liegt es an deinen zusätzlichen Komponenten? Wenn du bei denen testweise "Enabled := true" setzen könntest, dann hättest du eine Möglichkeit zu erfahren, welche Komponente den ShortCut absorbiert. Bin auch etwas ratlos.
marabu |
Re: Shortcuts: Vollbildmodus auf STRG+V
hi ich habe ein ahnliches problem:
im normalen TMainMenu mit unterpunkten funktionieren alle shortcuts ich benutze die [f 1-12] Tasten jetzt habe ich das menü mit popups gemacht um die grafische gestaltung zu ermöglichen allerdings werden keine aktionen beim drücken der shortcuts ausgefürht ich werd wohl ma im FormKeyDown einfach ne Key abfrage machen, is aber mist, dass einige komponenten so rummäckeln ^^ peace |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 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 by Thomas Breitkreuz