Einzelnen Beitrag anzeigen

Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#13

AW: Menu funktionalität ohne MainMenu

  Alt 29. Mai 2015, 10:34
Das wäre vielleicht ein Ansatz, als Basis habe ich ein mit der "MDI-Anwendung" erstelltes Standardprojekt verwendet. Umgebogen wird Strg+V. Ist ein MDI-Child aktiv, wird der Tastendruck wieder an dieses per PostMessage weitergeleitet.

Delphi-Quellcode:
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private-Deklarationen }
    const VK_V = $56; // "V"
    var idVK_V : Integer;
    procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;

// Implementation
procedure TMainForm.FormCreate(Sender: TObject);
const
  MOD_CONTROL = 2;
begin
  idVK_V := GlobalAddAtom('Control+V');
  RegisterHotKey(Handle, idVK_V, MOD_CONTROL, VK_V);
end;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
  UnregisterHotKey(Handle, idVK_V);
  GlobalDeleteAtom(idVK_V);
end;

procedure TMainForm.WMHotKey(var Msg: TWMHotKey);
begin
  if Msg.HotKey = idVK_V then
  begin
    if ActiveMDIChild <> nil then
    begin
      PostMessage(ActiveMDIChild.Handle, WM_KEYDOWN, VK_CONTROL, 0);
      PostMessage(ActiveMDIChild.Handle, WM_KEYDOWN, VK_V, 0);
      PostMessage(ActiveMDIChild.Handle, WM_KEYUP, VK_CONTROL, 0);
      PostMessage(ActiveMDIChild.Handle, WM_KEYUP, VK_V, 0);
    end
    else
      Showmessage('Strg+V');
  end;
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat