본문 바로가기

Development/Delphi

TCheckbox.checked 설정시 onClick 이벤트 발생시키지 않기

Checkbox: TCheckbox;


Checkbox.checked 속성을 변경하면 Checkbox.onClick 이벤트가 발생한다.

이를 막아야할 경우가 있을때 아래와 같이 처리하자.


//단순히 checked 속성을 변경할때는 

Checkbox.onClick := nil;

Checkbox.checked := True;

//Checkbox.onClick 이벤트 핸들러 프로시저가 CKBPhone4Click(Sender:TObject) 이면

Checkbox.onClick := CKBPhone4Click; 


속성값 변경전에 이벤트핸들러 연결을 없애버리고, 속성값 변경후 다시 원래의 이벤트 핸들러를 연결해준다.

이렇게 하면 플래그를 만들어서 처리할 필요없이, 핸들러 끊기/연결 로 처리가 깔끔하다.

'Development > Delphi' 카테고리의 다른 글

query in 절 만들기  (0) 2015.11.12
FieldByName 속도 향상  (0) 2015.09.18
TComboBox/TDBComboBox.AddObject Integer, String, Object  (0) 2015.09.04
로컬 IP 가져오기  (0) 2015.08.25
Form 생성 및 해제  (0) 2015.08.25