나는 TActionManager
하나를 공유하고 싶고 TAction
-s를 할당하고 싶은 두 가지 형식이 있습니다.다른 양식에 대한 이름 바꾸기
첫 번째 양식은 기본 양식이며 "동작"캡션이있는 TActionManager
, TAction
입니다.
Form1의 주 메뉴에는이 작업과 menuitem 캡션 속성이 "작업 A"로 설정되어 있습니다. Form2는 Form1을 포함하고 action을 menuitem에 할당하고 caption은 "Action B"로 설정됩니다.
디자인 타임 동안 Form1과 Form2에서 메뉴 항목의 이름이 "동작 A"와 "동작 B"로 지정되고 동일한 동작이 할당됩니다. 또한 런타임 동안 잘 작동합니다 (OnExecute는 두 양식 모두에 대해 올바르게 처리됩니다).
그러나 런타임 중에 Form1 메뉴 항목에는 캡션 "Action A"가 있고 Form2에는 작업 캡션과 마찬가지로 메뉴 항목 캡션 "Action"이 있습니다.
내가 잘못 포함하고 있습니까? Form2에 Form1을 포함 시켜서 작업을 공유하고 캡션을 변경할 수 있습니까? D2010/CB2010의 버그입니까?
예 :
- 를 Form1과 Form2를 만들기 Form1에 모두
- 드롭 TActionManager의에 주 메뉴를 추가하고 그 안에 조치 1을 만듭니다. 자막 수정을 Form1 조치 1 및 그 후
- 지정 메뉴 항목 (Form1에 TActionManager의 행)과 같은 형식 2 조치 1에서
- 지정 메뉴 항목 (캡션 디폴트 값으로부터 변화를 나타내는 현재 굵게 표시됨)과 같은 기본 자막을 변경. 런타임 동안
- 해주기 Form1이 (Action1.Caption 상이한) 캡션을 변경하고, 단계 4
델파이 2009에서는 정상적으로 작동하는 것 같습니다. 'TAction.Caption'을 변경하면 두 테스트 양식의 메뉴 항목 캡션이 변경되었습니다. – TLama
@TLama 메뉴 항목의 캡션이 이전에 변경되지 않은 경우 (물론 Action 속성을 설정 한 후에 만). – NGLN
@NGLN, 언급하는 것을 잊어 버렸습니다. 감사! – TLama