我正在使用Delphi 7。
我想要在PageControl的空白区域上(即最后一个选项卡右侧)响应鼠标左键单击事件。 我该怎么做?
我正在使用Delphi 7。
我想要在PageControl的空白区域上(即最后一个选项卡右侧)响应鼠标左键单击事件。 我该怎么做?
HTTRANSPARENT
,因此鼠标消息会定向到其下方的控件。WM_NCHITTEST
,例如通过子类化控件或在派生控件中:type
TMyPageControl = class(TPageControl)
protected
procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST;
end;
procedure TMyPageControl.WMNCHitTest(var Message: TWMNCHitTest);
begin
inherited;
if Message.Result = HTTRANSPARENT then
Message.Result := HTCLIENT;
end;
OnMouseDown
事件将被触发。当然,在修改消息返回值之前,您可以测试区域,此示例仅用于展示它如何工作。