2014-08-28 5 views
0

저는 남아프리카 공화국의 Matric Student입니다. 평가를 위해 PAT 프로젝트를 만들어야합니다. 동적 단추가있는 동적 양식을 작성하여 편집했습니다. 하지만 버튼을 클릭 할 때 클릭 이벤트를 발생시켜야합니다. 저는 지금 당황합니다. 그들은 우리에게 String Grid의 셀 속성과 같은 동적 객체의 속성에 액세스하도록 가르쳤지 만 동적 객체에 대한 이벤트를 발생시키는 방법은 가르쳐주지 않았습니다.동적으로 생성 된 버튼에 대한 OnClick 이벤트 발생

+0

당신은 당신이 지금까지 가지고있는 코드를 게시 할 수 있습니까? 다이나믹 한 폼과 다이나믹 버튼은 시작하기에 좋은 장소입니다. –

+2

프로젝트로 얼마나 멀리 가고 싶은지 알 수 없지만 적절한 방법으로 작업을 사용하는 방법을 고려할 것입니다. 'TAction'을 생성하고'OnExecute' 이벤트에 대한 코드를 작성한 다음'Action' 속성을 통해 생성 된 버튼에 할당합니다. 그런 다음 클릭 이벤트를 트리거하는 대신 액션을 '실행'합니다. – TLama

+0

왜 그 사건을 해고하길 원하나요? 그냥 직접 메서드를 호출 할 수 있습니까? –

답변

6

는 코드에서 버튼을 '클릭'해야하는 경우이

procedure TForm1.btnNewClick(Sender: TObject); 
begin 
    // do something... 
end;  

procedure TForm1.FormCreate(Sender: TObject); 
begin 
    btnNew := TButton.Create(Self); 
    btnNew.Parent := Self; 
    btnNew.OnClick := btnNewClick; 
    // set other properties as needed ... 
end; 

, 당신이 할 수있는 시도 :

btnNew.Click; 
+1

이 질문에 대한 답변입니다. 그러나 누군가는 조언 할 기회를 놓치는 지 궁금해합니다. 'btnNewClick'가 메소드를 호출하고 더 많은 일을 수행한다면'btNew.Click'는 그 메소드에 대한 호출로 대체 될 수 있습니다. 하나는 버튼을 클릭하여 간접적으로 무언가를 얻으 려하는 이유가 무엇인지 궁금합니다. –

관련 문제