WM_MouseMove消息

WM_MouseMove消息的两个参数:wParam、lParam。

参照:http://msdn.microsoft.com/en-us/library/ms645616(v=vs.85).aspx

wParam:组合键。有Shift、Ctrl和左、中、右三个键的每一位。
lParam:鼠标的位置信息。低位为X坐标;高位为Y坐标。这些坐标都是相对于窗口客户区的左上角。
举个例子:
讲解:除了在OnMessage中使用TMsg消息结构外,其他在VCL中都应使用TMessage消息结构。

procedure TForm8.WMMouseMove(var Msg: TMessage);

var s:string;

begin

s:=SysUtils.EmptyStr; //空串;相当于''

if (Msg.WParam and MK_Control)=MK_Control then s:=s+'Ctrl';

if (Msg.WParam and MK_Shift)=MK_Shift then s:=s+'Shift';

if (Msg.WParam and MK_LButton)=MK_LButton then s:=s+'鼠标左键';

Self.Caption:=Format('%s =>X:%d;Y:%d',[s,Msg.LParamLo,Msg.LParamHi]);

end;
效果图: 
 

你可能感兴趣的:(C++)