Language & API/C++

콜백 함수 예제

강한퓨전 2021. 5. 26. 12:40

콜백함수를 내가 사용하는 이유는 멀리있는 함수를 연결하여 현재 지점에서 사용하고 싶을 때 또는 현재 함수를 멀리 줄때 이용한다. 

즉 함수를 꾸며 주는 모양은 간단하나 그 응용 부분은 설계적인 부분이 포함되어야지만 잘 사용할수 있다. 

 

아래 예제는 부모 다이얼로그에서 자식 다이얼로그를 생성하고 자식 다이얼로그에서 부모의 Funtion을 활용할때다.

 

 

자식 다이얼로그에 콜백함수 등록

void (*callback_fun)(int, int, int, int, int, int);

 

void -> 반환될 값

callback_fun -> 함수 이름 

(int, int, int, int, int, int) -> 매개변수 

 

 

부모 다이얼로그에서 자식 다이얼로그를 만들고 부모 함수를 연결만 해주면 된다. 

dlg = new setting_dlg();
dlg->Create(IDD_DLG_SET);
dlg->ShowWindow(SW_SHOW);
dlg->callback_fun = range_setting;

 

위와 같이 선언해 주면 자식 다이얼로그에서 callback_fun을 사용하면 부모 다이얼로그의 range_setting이 연결 된다. 

 

해당 테스트에서 range_setting 함수는 클래스 함수가 아니라 그냥 c 일반 함수이다.