일/프로그래밍

[펌]MFC 확장 DLL내에서 Dialog 띄우기

푸른st 2008. 4. 3. 09:49

아래는 Devpia에 있는 답변이다. (작성자: 석재헌님/dreamcot) -------------------------

 

기본적으로, MFC는 리소스 Template을 불러들이기 위해서 메인 어플리케이션의 리소스핸들을 이용합니다.


그러나 ,DLL에서, 다이얼로그를 생성하거나, DoModal등의 함수를 통해서 보여주기 위해서는 DLL의 리소스 핸들이 필요하기 때문에, MFC가 내부적으로 이용하는 리소스핸들을 메인 App의 리소스핸들이 아닌, DLL의 리소스 핸들로 바꾸어줄 필요가 있습니다.


AFX_MANAGE_STATE(AfxGetStaticModuleState( ));


DLL에서 다이얼로그를 생성하는 함수에 위의 한줄 코딩을 써주시기 바랍니다.


대부분의 DLL에서 MFC를 이용하여 UI관련 코드들 이용하는 경우 위의 함수가 필요합니다.