但是窗口上有label,image这些控件,我想鼠标左键不管点击哪都可以关闭,但是最开始点击label,image控件的时候怎么不响应,点窗口其他地方,再去点label或者image又会响应?
procedure WMmouse(var Msg: TMessage); message WM_LBUTTONDOWN;用的这个消息。
procedure WMmouse(var Msg: TMessage); message WM_LBUTTONDOWN;用的这个消息。
FMX,控件有个HitTest,可以穿透控件
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, pngimage;type
TForm1 = class(TForm)
btn_1: TButton;
Button1: TButton;
lbl_1: TLabel;
img_1: TImage;
procedure btn_1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClick(Sender: TObject);
private
procedure WMmouse(var Msg: TMessage); message WM_LBUTTONDOWN;
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
{$R *.dfm}procedure TForm1.btn_1Click(Sender: TObject);
begin
ShowMessage(DateToStr(Now));
end;procedure TForm1.FormShow(Sender: TObject);
begin
btn_1.Visible := False;
btn_1.Enabled := True;
end;procedure TForm1.WMmouse(var Msg: TMessage);
begin
ShowMessage('123');
inherited;
end;end.
我现在就试试,就是想不管点击窗口哪里它都能执行一段代码,不管是窗口本身还是点击的控件
ApplicationEvents1procedure TForm5.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
begin
if Msg.Message = WM_LBUTTONDOWN then
caption := DateTimeToStr(now());
end;