|
답은 되지 않겠지만 간단한 아이디어 하나..
OnMouseMove 이벤트에서 현재 마우스가 위치해 있는 컨트롤을 알아내어
그것을 어떤 변수에 등록해 두었다가
팝업메뉴에서 그 값을 가져다가 사용하면 어떨까 합니다.
참고로
TComponent* __fastcall FindComponent(const AnsiString AName)
를 이용하여 콤포넌트 이름을 이용하여 해당 컨트롤의 포인터를 알아 낼 수 있습니다.
jonglee 님이 쓰신 글 :
:
: 예를 들어 질문하죠..
:
: 메인 폼에 팝업메뉴 하나와 (menu1)
:
: 여러 개의 TEdit 콤포넌트가 있고 (edit1, edit2, edit3, ...),
:
: 이 TEdit들의 PopupMenu 속성은 전부 menu1로 했습니다.
:
: (즉, 팝업 메뉴를 같은 것들을 쓴다는 말이지요)
:
: 팝업 메뉴의 아이템은 동적으로 생성합니다.
:
:
: 프로그램을 실행하고 각 에디트 컨트롤 위에서 마우스 오른쪽 버튼을 누르면
:
: 저 팝업 메뉴가 뜨겠지요..
:
: 각 에디트 컨트롤의 Text 속성을 제가 팝업 메뉴에서 선택한
:
: 메뉴 아이템의 Caption 속성으로 지정을 하고 싶은데요..
:
: 별거 아닌 것 같은데 마땅한 이벤트도 없고.. 어떻게 해야할 지 모르겠네요.
:
:
: 메뉴를 동적으로 생성하니까 어떤 이벤트 핸들러를 만들어야 할 것 같고,
:
: 또 메뉴가 어떤 컨트롤에서 불려졌나 하는 것도 알아야 할텐데
:
: TMenuItem의 OnClick 이벤트 핸들러의 파라미터는 TObject *Sender
:
: 하나뿐인데 이것은 그 TMenuItem을 가리키는 것이고 누가 메뉴를 불렀는가
:
: 하는 정보는 알 길이 없네요.
:
:
: 도와주시면 감사드리겠습니다..
:
|