0
我已經創建了一個簡單的Delphi窗體,其中包含一個按鈕,在按下時會在運行時創建一個標籤對象。我爲顯示消息的標籤創建了雙擊事件。問題是,在創建標籤後,我必須在雙擊事件在標籤上工作之前雙擊表單。很明顯,這並不理想,因爲我希望能夠雙擊標籤並觸發事件,而不必先雙擊表單。在運行時創建的對象上雙擊事件 - Delphi
這裏是我的表單代碼:
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm4 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormDblClick(Sender: TObject);
procedure MyLabelDblClick(Sender:TObject);
private
{ Private declarations }
LabelObject: TLabel;
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject);
begin
LabelObject := TLabel.Create(Self);
LabelObject.Left := 100;
LabelObject.Top := 100;
LabelObject.Width := 200;
LabelObject.Height := 20;
LabelObject.Visible := True;
LabelObject.Parent := Self;
LabelObject.Caption := 'My Run Time Label';
LabelObject.Cursor := crHandPoint;
end;
procedure TForm4.FormDblClick(Sender: TObject);
begin
LabelObject.OnDblClick := MyLabelDblClick;
end;
procedure TForm4.MyLabelDblClick(Sender: TObject);
begin
showmessage('You double clicked My Run Time Label');
end;
end.
預先感謝這件事的任何幫助。
在Button1Click事件中指定'LabelObject.OnDblClick'。 –
@LURD完美,非常感謝! – lindziwiggins
如果您爲表單的雙擊處理程序中的標籤分配雙擊處理程序,那麼在雙擊表單之後,標籤只會對雙擊產生反應,您應該不會感到驚訝。 –