Development/Delphi
TCheckbox.checked 설정시 onClick 이벤트 발생시키지 않기
코드의추억
2015. 9. 14. 13:02
Checkbox: TCheckbox;
Checkbox.checked 속성을 변경하면 Checkbox.onClick 이벤트가 발생한다.
이를 막아야할 경우가 있을때 아래와 같이 처리하자.
//단순히 checked 속성을 변경할때는
Checkbox.onClick := nil;
Checkbox.checked := True;
//Checkbox.onClick 이벤트 핸들러 프로시저가 CKBPhone4Click(Sender:TObject) 이면
Checkbox.onClick := CKBPhone4Click;
속성값 변경전에 이벤트핸들러 연결을 없애버리고, 속성값 변경후 다시 원래의 이벤트 핸들러를 연결해준다.
이렇게 하면 플래그를 만들어서 처리할 필요없이, 핸들러 끊기/연결 로 처리가 깔끔하다.