안녕하세요. 천리안 프로그래머 포럼 델파이 담당자 댁스터(강범석)입니다.
동적으로 생성한 컨트롤의 이벤트 핸들러를 만드는 방법은 팝업메뉴만 특별히
다른 것은 아닙니다...
다른 것들과 마찬가지로 함수의 포인터를 넘겨주는 방식을 사용합니다.
올려주신 소스에 맞춰보면
NewItem.OnClick := OnSubMenuClick; <--- 요런식으로
물론 OnSubMenuClick라는 procedure는 미리 선어되어야 하고 구현부에 구현도 해
야 겠죠...
procedure OnSubMenuClick(Sender: TObject); // 선언부
procedure TOptionForm.OnSubMenuClick(Sender: TObject); // 구현부
begin
// 실행할 루틴
end;
위와 같이 해주시면 잘 동작합니다.
그리고 여러개의 메뉴를 동적으로 만들려면 당연하겠지만, 배열을 이용하시면
되구요. 각 메뉴에 해당되는 이벤트핸들러의 작성도 배열을 이용하시면 됩니다.
그럼 참고하세요.
┏━━━┳━┳━┳━━━┳━┳━┳━━━┳━━━┳━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ __ ┃
┃ ┃ ┃ ━┫ ┃ ┃ ━┫ ┃
┃ ┃ ┃ ┣━ ━┫ : ┃ ┃ ━┫
┃ ┃ ┃ ━┫ ┃ ┃ ━┫ ┃
┗┓ ┏┫ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┗━┛┗━┻━┻━━━┻━┻━┻━━━┻━━━┻━┻━┛
|