WM_XXXX消息问题,高手进来帮帮忙吧
MMas 2008-06-24 12:12:25 unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
TMYImage = class(TImage)
private
procedure WMMouseWheel(var Message: TWMMouseWheel); message WM_MOUSEWHEEL;
procedure WMLButtonDown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN;
procedure WMSize(var Message: TWMSize); message WM_SIZE;
end;
var
Form1: TForm1;
Image1: TMYImage;
implementation
{$R *.dfm}
procedure TMYImage.WMMouseWheel(var Message: TWMMouseWheel);
begin
beep;
end;
procedure TMYImage.WMLButtonDown(var Message: TWMLButtonDown);
begin
beep;
end;
procedure TMYImage.WMSize(var Message: TWMSize);
begin
showmessage('WMSize');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1:=TMYImage.Create(Self);
Image1.Parent:=self;
Image1.Align:=alClient;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Image1.Free;
end;
end.
以上代码,运行时,TWMLButtonDown正常;TWMMouseWheel左上方正常,右边和下边没有触发,但最大化后正常;TWMSize改变大小时根本没触发
问题:
1.为什么TWMMouseWheel消息有肓区?如果解决啊?
2.TWMSize何时,怎样才触发呢?