記事カテゴリ

ユーザー機能


 2024年5月 5日(日) 19:32 JST

[Delphi] 多機能マウス対応

  • 投稿者:
  • 表示回数
    3,135

すでに一般的になって久しい多ボタン多機能マウス。
ビジネス用途での浸透率はいまいちなのだが、家庭ではほとんどのパソコン利用者が使っているのではないだろうか?

最近、仕事でメニューアプリを作成している。そのメニューはウィンドウズアプリなのであるが、WEBサイトのリンクのように実行形式ファイルなどのオブジェクトに関連づけされているもの、次のメニューに関連づけされているものなど様々な登録が可能になっている。他のメニューに関連づけられたボタンをクリックした際にはそのメニューが展開されるのだが、一つ前のメニューに戻る機能を持ったボタンを画面上に配置していた。

それを見たお客さんが…「マウスの戻るボタンへの対応」を聞いてきた…。
Delphiの標準機能には当然無いのでたぶんメッセージを受け取ってるのだろうと当たりを付けて調べる。Spy++を動かすのも良かったが、面倒なのでGoogle検索すると、C#のコーディング例などが載っていた。
Delphiでも1件そのままのコードがあった。

こんな感じ

type
  TForm1 = class(TForm)
  private
    procedure WMAppCommand(var Msg: TMessage); message WM_APPCOMMAND;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

uses
  AppCommand;

procedure TForm1.WMAppCommand(var Msg: TMessage);
begin
  case GET_APPCOMMAND_LPARAM(Msg.LParam) of
    APPCOMMAND_BROWSER_FORWARD:
    begin
      ShowMessage('FORWARD');
      Msg.Result := 1;
    end;
    APPCOMMAND_BROWSER_BACKWARD:
    begin
      ShowMessage('BACKWARD');
      Msg.Result := 1;
    end;
  end;
end;

参考というか、そのまんま答えが下記のページにあった。Delphi で進むと戻るマウス ボタンのイベントを検出するには?

トラックバック

このエントリのトラックバックURL:
https://www.blackcat.xyz/trackback.php/ProgramingFAQ_del0077

以下のコメントは、その投稿者が所有するものでサイト管理者はコメントに関する責任を負いません。

  • [Delphi] 多機能マウス対応
  • 投稿者:ゲストユーザー on 2017年6月10日(土) 19:05 JST
uses
AppCommand;

このAppCommandは何処にあるんでしょうか?
初歩的な質問で申し訳ないですが、教えてください。
よろしくお願いします。