我有一個小按鈕,我想添加到Delphi TDBGrid組件的左上角(在標題/標題單元格中)。我能夠輕鬆地放置按鈕,但現在不處理點擊事件。我猜這個事件正在被電網捕獲。任何方式我可以強制這個特定的事件去按鈕,而不是?注意我仍然需要網格來處理其標題按鈕的點擊事件,就像它當前所做的那樣。如何捕獲以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事件似乎工作正常,但我不能使用單擊事件。
procedure TForm38.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (Button = mbLeft) then
TButton(Sender).Click;
end;
是否按鈕壓低當鼠標點擊它? – 2009-04-14 16:21:11
當然可以。但點擊事件不會消失。您可以使用調試DCU對其進行測試。在TCustomButton.Click上放置一個斷點,你會發現程序永遠不會被調用。 – 2009-04-14 16:36:12