程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 學習 Message(13): 解析 TWMMouse.Keys 參數

學習 Message(13): 解析 TWMMouse.Keys 參數

編輯:Delphi

本例效果圖:

學習 Message(13): 解析 TWMMouse.Keys 參數

  代碼文件:

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
 protected
  procedure MyMouseDown(Msg: TWMMouse);
  procedure WMLButtonDown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN;
  procedure WMMButtonDown(var Message: TWMMButtonDown); message WM_MBUTTONDOWN;
  procedure WMRButtonDown(var Message: TWMRButtonDown); message WM_RBUTTONDOWN;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.MyMouseDown(Msg: TWMMouse);
var
 List: TStringList;
begin
 List := TStringList.Create;
 if Msg.Keys and MK_SHIFT  <> 0 then List.Add('Shift');
 if Msg.Keys and MK_CONTROL <> 0 then List.Add('Ctrl');
 if GetKeyState(VK_MENU)  < 0 then List.Add('Alt');
 if Msg.Keys and MK_LBUTTON <> 0 then List.Add('Left');
 if Msg.Keys and MK_MBUTTON <> 0 then List.Add('Middle');
 if Msg.Keys and MK_RBUTTON <> 0 then List.Add('Right');
 Canvas.TextOut(Msg.XPos, Msg.YPos, List.CommaText);
 List.Free;
end;

procedure TForm1.WMLButtonDown(var Message: TWMLButtonDown);
begin
 MyMouseDown(Message);
end;

procedure TForm1.WMMButtonDown(var Message: TWMMButtonDown);
begin
 MyMouseDown(Message);
end;

procedure TForm1.WMRButtonDown(var Message: TWMRButtonDown);
begin
 MyMouseDown(Message);
end;

end.

窗體文件:

object Form1: TForm1
 Left = 0
 Top = 0
 Caption = 'Form1'
 ClIEntHeight = 206
 ClIEntWidth = 339
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = 'Tahoma'
 Font.Style = []
 OldCreateOrder = False
 PixelsPerInch = 96
 TextHeight = 13
end



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved