Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi mehrere HotKey deklarationen (https://www.delphipraxis.net/94308-mehrere-hotkey-deklarationen.html)

Innos 19. Jun 2007 18:48


mehrere HotKey deklarationen
 
hii^^

möchte in meinem prog 2 HotKeys setzen nur immer wenn ich es starte über schreiben sie sich gegenseitig -.- sodass der erste nicht mehr existiert und der 2. den job des ersten macht...

so lege ich die fest...

Delphi-Quellcode:
HotKeySet:=RegisterHotKey(Self.Handle, HotKeyID, MOD_SHIFT, VK_F1); //HotKeySet is Boolean
HotKeySet2:=RegisterHotkey(Handle,GlobalHotkey_ID_Test,MOD_Alt, 0); //HotKeySet2 is auch n Boolean
hier überschreiben die sich gegenseitig einfach :wall:

und so ruf ich sie wieda auf

Delphi-Quellcode:
procedure TForm1.WMHotKey(var Message:TMessage);
begin
   If Message.wParam=HotKeyID then
   begin
       // ........funktion für den ersten HotKey
      //diese wird abgerufen wenn ich den 2. Hotkey drücke >.<
   
   end
   else
   case Message.wParam of
    GlobalHotkey_ID_Test:
         //If Message.wParam=GlobalHotkey_ID_Test then //if schleife geht iwie auch net -.- 
                                                        //die wird gar nicht aufgerufen
   showmessage('Jubel');
    end;
end;
so hoffe ihr habt mein problem verstanden^^
also bitte um hilfe, vielen Dank scho ma im vorraus :thumb: :thumb:

mfg

x000x 19. Jun 2007 19:40

Re: mehrere HotKey deklarationen
 
Moin moin,

dein Problem muss woanders liegen, des was du gepostet hast, funktioniert.
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    BtnInstall: TButton;
    BtnUninstall: TButton;
    procedure BtnInstallClick(Sender: TObject);
    procedure BtnUninstallClick(Sender: TObject);
  private
    { Private-Deklarationen }
    HotKeySet,
    HotKeySet2 : Boolean;
    procedure WMHotKey(var Message:TMessage); message WM_HotKey;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

const
   HotKeyID            = $0001;
   GlobalHotkey_ID_Test = $0002;

procedure TForm1.WMHotKey(var Message:TMessage);
begin
   case Message.wParam of
      HotKeyID :            ShowMessage('Hotkey 1');
      GlobalHotkey_ID_Test : ShowMessage('Hotkey 2');
   end;
end;

procedure TForm1.BtnInstallClick(Sender: TObject);
begin
   HotKeySet := RegisterHotKey(Handle, HotKeyID, MOD_SHIFT, VK_F1); //HotKeySet is Boolean
   HotKeySet2 := RegisterHotkey(Handle, GlobalHotkey_ID_Test, MOD_Alt, VK_F2); //HotKeySet2 is auch n Boolean
end;

procedure TForm1.BtnUninstallClick(Sender: TObject);
begin
   HotKeySet := UnregisterHotKey(Handle, HotKeyID);
   HotKeySet2 := UnregisterHotKey(Handle, GlobalHotkey_ID_Test);
end;

end.

Innos 19. Jun 2007 22:39

Re: mehrere HotKey deklarationen
 
nice danke für deine hilfe ich versuch mich glecih ma dran... sieht aba sehr gut aus :)

Innos 19. Jun 2007 22:49

Re: mehrere HotKey deklarationen
 
gut es geht 0o es lag an dem hier glaub

Delphi-Quellcode:
const
   HotKeyID            = $0001;
   GlobalHotkey_ID_Test = $0002;
kA warum $0001 .... hatte vorher nur 1 aba es geht jetzt :)) VIELEN VIELEN DANK an dich :thumb: :thumb:

EDIT: hatte beide auf 1 -.- wär das selbe wenn ich beide auf 0001 hätt :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 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