【发布时间】:2009-04-14 15:43:28
【问题描述】:
我有一个小按钮要添加到 Delphi TDBGrid 组件的左上角(在标题/标题单元格中)。我可以轻松放置按钮,但现在未处理单击事件。我猜这个事件被网格捕获了。有什么办法可以强制此特定事件转到按钮?请注意,我仍然需要网格来处理其标题按钮的点击事件,就像现在一样。
procedure TForm38.FormCreate(Sender: TObject);
begin
button1.Parent := grid;
button1.Top := 0;
button1.Left := 0;
button1.Width := 12;
button1.Height := 18;
button1.OnClick := Button1Click;
end;
**更新:**我发现我可以使用按钮的 MouseDown 事件,这似乎工作得很好,但我不能使用 click 事件。
procedure TForm38.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if ( Button = mbLeft ) then
TButton(Sender).Click;
end;
【问题讨论】:
-
鼠标点击时按钮是否按下?
-
当然可以。但是点击事件并没有发生。您可以使用调试 DCU 对其进行测试。在 TCustomButton.Click 上放置一个断点,您会看到该例程永远不会被调用。