다음 메소드를 사용하여 런타임에 Action이있는 ActionClient를 만듭니다.런타임에 Action Item에 드롭 다운 메뉴를 추가하는 방법
procedure TMainForm.AddToProjectHistory(Path: string);
var
NewOption: TAction;
ActionClient: TActionClientItem;
begin
NewOption := TAction.Create(self);
NewOption.ActionList := ActionManager1;
NewOption.Caption := Path;
NewOption.OnExecute := ProjectHistoryExecute;
ActionClient := TActionClientItem(aToolBarFile.ActionClient.Items[0].Items.Add);
ActionClient.Action := NewOption;
ActionClient.Caption := Path;
end;
이 목록의 항목이 이미 존재하는 경우 잘 작동하지만
예를 들어, 존재하지 않는 경우 전혀 작동하지 않습니다 내가 디자인 타임에 항목을 추가하는 경우 다음 나는 런타임
더 많은 항목을 추가 할 수 있습니다하지만 디자인 타임에 아무것도 추가하지 않는 경우, 항목의 목록을 표시 할 드롭 다운을 프로그래머 없다, 항목을 추가하면 드롭 다운이 표시되지 않습니다.
이없는이 작업으로 수행하지만, 메뉴 시스템의 나머지 작업을 사용하고 난 아래 작업 드롭에 표준 메뉴 아이템을 추가 할 수 있다고 생각하지 않습니다합니다.
델파이 2005
약간의 설명 : 'ActionClient.Caption' 설정은 작업과 동일한 값으로 설정하면 불필요합니다. – NGLN