자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi 델파이 10.2버젼 VCL컴포넌트 익명메소드 구현에 관하여
2019.08.21 02:43
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
--------이벤트 관리자 부분---------
type
TNotifyEventWrapper = class(TComponent)
private
FProc: TProc<TObject>;
public
constructor Create(Owner: TComponent; Proc: TProc<TObject>);
published
procedure Event(Sender: TObject);
end;
constructor TNotifyEventWrapper.Create(Owner: TComponent; Proc: TProc<TObject>);
begin
inherited Create(Owner);
FProc := Proc;
end;
procedure TNotifyEventWrapper.Event(Sender: TObject);
begin
FProc(Sender);
end;
function AnonProc2NotifyEvent(Owner: TComponent; Proc: TProc<TObject>): TNotifyEvent;
begin
Result := TNotifyEventWrapper.Create(Owner, Proc).Event;
end;
-------구현부----------
Button1.OnClick := AnonProc2NotifyEvent(
Button1,
procedure(Sender: TObject)
begin
(Sender as TButton).Caption := 'Clicked';
end
);
이렇게 구성되어있는데 만약에
클릭이 아닌 onMouseDown 으로 구현을 하려면 어떻게 해야 합니까?
직접 공개가 어렵다면 어떤 부분을 공부해야할지 궁금합니다.
onMouseDown으로 구현할 경우 터치스크린에서 멀티터치가 되는지 여부 또한 궁금합니다.
onClick Event로 구현할 경우 멀티클릭이 되지 않더군요.
멀티클릭을 구현하고 싶은건 아니지만 멀티클릭이 됬을경우 onClick이 동작되지 않습니다.
Delphi 델파이 10.2버젼 VCL컴포넌트 익명메소드 구현에 관하여
2019.08.21 02:43
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
--------이벤트 관리자 부분---------
type
TNotifyEventWrapper = class(TComponent)
private
FProc: TProc<TObject>;
public
constructor Create(Owner: TComponent; Proc: TProc<TObject>);
published
procedure Event(Sender: TObject);
end;
constructor TNotifyEventWrapper.Create(Owner: TComponent; Proc: TProc<TObject>);
begin
inherited Create(Owner);
FProc := Proc;
end;
procedure TNotifyEventWrapper.Event(Sender: TObject);
begin
FProc(Sender);
end;
function AnonProc2NotifyEvent(Owner: TComponent; Proc: TProc<TObject>): TNotifyEvent;
begin
Result := TNotifyEventWrapper.Create(Owner, Proc).Event;
end;
-------구현부----------
Button1.OnClick := AnonProc2NotifyEvent(
Button1,
procedure(Sender: TObject)
begin
(Sender as TButton).Caption := 'Clicked';
end
);
이렇게 구성되어있는데 만약에
클릭이 아닌 onMouseDown 으로 구현을 하려면 어떻게 해야 합니까?
직접 공개가 어렵다면 어떤 부분을 공부해야할지 궁금합니다.
onMouseDown으로 구현할 경우 터치스크린에서 멀티터치가 되는지 여부 또한 궁금합니다.
onClick Event로 구현할 경우 멀티클릭이 되지 않더군요.
멀티클릭을 구현하고 싶은건 아니지만 멀티클릭이 됬을경우 onClick이 동작되지 않습니다.
제 메일은 wypka78@gmail.com 입니다.
혹 답글 달아주실 수 있는 분은 메일로 보내주시면 정말 감사하겠습니다.
즐거운 하루 되시길