Показать сообщение отдельно
  #1  
Старый 14.02.2016, 18:58
alekso alekso вне форума
Прохожий
 
Регистрация: 17.08.2015
Сообщения: 11
Версия Delphi: DELPHI XE
Репутация: 10
По умолчанию Вопрос по азам Delphi

есть форма с одним label . На события onclick и ondblckick вешаются два обработчика события. Вот код:unit Unit1;
Код:
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;

    procedure Label1DblClick(Sender: TObject);
    procedure Label1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}

procedure TForm1.Label1Click(Sender: TObject);
begin
ShowMessage('Одинарный клик');
end;

procedure TForm1.Label1DblClick(Sender: TObject);
begin
ShowMessage('Двойной клик');
end;

end.

Программы не отделяет двойной и одинарный клик-почему?

Как delphi определяет от какого из элементов формы приходит событие onclick если на форме несколько элементов одного типа (например button) если в процедурах объекта FORM это явно не прописано. Инициатором события выступает TOBJECT (SENDER:TOBJECT);

Как Delphi определяет какое событие произошло click или dblclick. Это же также явно не прописано и вызывает событие тот же TOBJECT?

Код:
procedure TForm1.Label1DblClick(Sender: TObject);
begin
ShowMessage('Двойной клик');
end;
Админ: Пользуемся тегами для оформления кода! При рецедиве последуют санкции!
Ответить с цитированием