2012-04-23 7 views
0

설정 파일을 기반으로 툴바 버튼을 동적으로 추가합니다. 나는 그들에게 칭호를주고 싶다. 지금은 OnClick 이벤트에 Action OnExecute 핸들러를 추가했지만 액션이 비활성화 된 경우 디자인 타임에 추가 된 TMenuItems와 같이 도구 모음 버튼이 자동으로 비활성화되지 않습니다.런타임에 툴바 버튼에 TAction을 할당하는 방법은 무엇입니까?

즉, IDE의 "Action"드롭 다운 메뉴를 사용하여 디자인 타임의 런타임 버전을 할당하고 싶습니다.

내가 지금까지 한 것은 (코드는 C++이지만 그것이하는 것이 명백하다.)

TToolButton *b; 
b = new TToolButton(ToolBar1); 
b->Action = Form1->ActionManager1->Actions[0]; 
b->Parent = ToolBar1; 

이 툴바에 버튼을 추가하고 행동 활성화/비활성화 상태를 따르는 것처럼 보이지만 클릭하면 아무 반응이 없습니다. 행동을 적절하고 완전하게 추가하려면 어떻게합니까?

답변

3

TToolButton에는 게시 된 Action 속성이 있습니다. 원하는 TAction 개체를 해당 속성에 할당하기 만하면됩니다.

+0

나는 (위의 코드를 참조하십시오)하지만 OnClick 이벤트에 반응하지 않습니다. 단추를 추가 할 때 잘못 지정했거나 다른 작업을해야합니다. 작은 예제 코드가 큰 도움이 될 것입니다. – Coder12345

+0

정확한 코드를 사용하여 잘 작동합니다. 'TAction.OnExecute' 이벤트는'TToolButton'이 클릭되었을 때 트리거됩니다. –

+0

작은 테스트 프로그램을 사용해 보았습니다. 그것은 내가 작동하지 않는 아마 더 큰 프로그램으로 다른 것을 엉망으로 만들었을 것이고 아마도 내가 보지 않은 곳에서 OnClick을 할당했을 것입니다. 도와 주셔서 감사합니다. – Coder12345