本例效果图:

代码文件:

代码文件:
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
浙公网安备 33010602011771号