본문 바로가기

Language & API/C++

콜백 함수 예제

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

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

 

아래 예제는 부모 다이얼로그에서 자식 다이얼로그를 생성하고 자식 다이얼로그에서 부모의 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 일반 함수이다. 

 

 

'Language & API > C++' 카테고리의 다른 글

[c++_For_C] assert  (0) 2016.07.19
[코딩]파라미터 디폴트  (0) 2015.11.17
[코딩]동적 2차 배열 만들기  (0) 2015.10.08
[코딩]C++ cout 관련 정보  (0) 2015.10.07
[이론]SAL를 사용하자(Source Code Annotation Language)  (0) 2015.09.03