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 일반 함수이다.