0
Delphi에서 OnClick 이벤트를 사용하여 동적으로 생성 된 버튼의 이름을 얻으려는 경우 도움이 필요합니다.Delphi에서 OnClick 이벤트를 사용하여 동적으로 생성 된 버튼의 이름을 얻는 방법은 무엇입니까?
그런 다음 해당 단추의 이름을 사용하여 전역 변수에 저장하려고합니다.
procedure TMap.FormShow(Sender: TObject);
var
btnCache : TButton;
begin
btnCache := TButton.Create(imgAerial);
with btnCache do
begin
onclick := ClickButton;
end;
procedure TMap.ClickButton(Sender: TObject);
begin
//Code for getting the name of the button
end;
이 이름으로 컨트롤을 참조 하시겠습니까? 왜냐하면 그럴 수 없기 때문입니다. 변수로 참조해야합니다. 이름은 IDE를 통해 폼에 드롭하면 (자동 생성) 아무 것도 의미하지 않습니다. 이름을 지정하지 않을뿐만 아니라 그렇게해도 그 이름은 문자열입니다. 다윗이 대답 할 때 언급 한 것처럼 그 이름이 그다지 의미하지 않을 것이라고 생각하지 마십시오. 다른 곳에서이 버튼에 액세스하려면이 개인 프로 시저가 아닌 양식에 변수'btnCache'를 선언하십시오. –
이름이 필요한 이유가 무엇입니까? 'ClickButton'이 호출 될 때,'Sender'는 클릭 된 버튼이므로,'TButton' 타입의 지역 변수를 사용하고'Sender'의 값에'MyBtn : = (TButton으로 보낸 사람); 평소처럼 코드에서'MyBtn'을 사용할 수 있습니다. 코드가 버튼의 문자열 이름에 따라 다르면 코드를 잘못 설계했습니다. –