Einzelnen Beitrag anzeigen

Benutzerbild von Sebbi
Sebbi

Registriert seit: 15. Sep 2013
3 Beiträge
 
#3

AW: Globale Hotkeys

  Alt 15. Sep 2013, 22:46
Danke für die schnelle Antwort.
Da tut sich leider nichts, wenn ich einen Breakpoint in die procedure TForm1.WmHotkey(var Msg: TMessage); setze.
Am Button1.Click liegts ehr nicht, denn der tut im Moment nur den Inhalt einer Editbox in ein Label schreiben.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 label1.caption := edit1.text;
end;
Später will ich den Hotkey in einem anderen Projekt Verwenden.
Hier wollte ich nur das Erstellen von Hotkeys ausprobieren.

Der Gesamte Quellcode sieht übrigens so aus:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure WmHotkey(var Msg: TMessage); message WM_HOTKEY;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  RegisterHotKey(Handle, 1, MOD_ALT, Ord('H'));
end;

procedure TForm1.WmHotkey(var Msg: TMessage);
begin
  if (Msg.WParam = 1) then;
  begin
    button1.click;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 label1.caption := edit1.text;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnregisterHotKey(Handle, 1);
end;

end.

EDIT:
Mir ist gerade auf gefallen, dass mit procedure TForm1.FormCreate(Sender: TObject); etwas nicht stimmen muss, denn wenn ich da z.B label1.Caption := 'test'; hinzufüge, wird das auch nicht ausgeführt.

Geändert von Sebbi (15. Sep 2013 um 22:51 Uhr)
  Mit Zitat antworten Zitat