제 질문에 답변해주신 댁스터(ZPDSPF1)님께 정말 감사를 드립니다.....
하지만 댁스터(ZPDSPF1)님께서 답변(3966)을 주신
동적popupmenu를 제 프로그램에 적용하여 보았습니다.
선언을 하고 구현을 하기까지는 했는데....
참 어렵네요.
제가 질문드린 PopupMenu는 그야말로 동적으로 생성되기 때문에
그 PopupMenu.Items.Count가 가변적일 수 밖에 없습니다.
가변적이라면 Items[i].Name 또한 알 수가 없을거구요.(N1,N2,..를 사용하나요?)
그래서 TMenuItem.OnClick을 사용할 수 있는 방법을 도통 모르겠습니다.
지금까지는 정적으로 PopupMenu Component를 사용하여 Object Inspector에서 작업을
해 왔기에 불편한 점을 몰랐지만 TMenuItem의 Items[i].Name을 알 수 없어
그 Name에 해당하는 메뉴에 대한 OnClick Event를 설정할 수가 없더라구요.
procedure OnSubMenuClick(Sender: TObject); // 선언
.....
procedure TOptionForm.OnSubMenuClick(Sender: TObject);
begin
ShowMessage(PopupMenu.Items[tmp_Index].Name + ' Clicked!!');
end;
for i := 0 to PopupMenu.Items.Count - 1 do
begin
tmp_Index := i; // Tmp_Index : Global 변수
PopupMenu.Items[i].Name.OnClick := OnSubMenuClick;
end;
위와 같은 방법을 써야 하는지요...
그렇다면 위의 for문은 어느 procedure에 적용해야 할까요?
혹시 제가 모르고 있지만 해결할 수 있는 방법을 없는지요?
정말 송구스럽지만 조금만 더 자세한 사용법을 부탁드립니다.
어려우시면 그렇게 사용하게끔 구현한 소스가 있는 인터넷 사이트를 추천해주시면
정말 감사하겠습니다.
어려운 부탁을 드려서 죄송합니다.
항상 델파이 사용자에게 많은 도움주신데 감사를 드리며 염치없는 델초보 드림.
|