블로그 이미지
fiadot_old

칼퇴근을 위한 게임 서버 개발 방법론에 대한 심도있는 고찰 및 성찰을 위한 블로그!

Rss feed Tistory
Technical Article/펌 2005. 7. 28. 10:02

MFC AppWizard(dll)로 About Dialog DLL만들기

MFC AppWizard(dll)로 About Dialog DLL만들기

[DLL만들기]

1. New - Project탭 - MFC AppWizard(dll) 선택
프로젝트명 FiaAbout

2. Regular DLL using shared MFC DLL 선택

3. dialog 추가~

4. Class Wizard(Ctrl+w)를 실행하면 Adding a Class 다이얼로그 뜬다.
Create a new class 선택 CFiaAboutDlg 클래스 생성

5. FiaAbout.cpp에서 다음 코드 삽입

void ShowFiaAboutDlg()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CFiaAboutDlg dlg;
dlg.DoModal();
}


6. FiaAbout.def파일에서 외부에서 참조할 함수명 추가(ShowFiaAboutdlg)

; FiaAbout.def : Declares the module parameters for the DLL.

LIBRARY "FiaAbout"
DESCRIPTION 'FiaAbout Windows Dynamic Link Library'

EXPORTS
; Explicit exports can go here
ShowFiaAboutDlg ; <= 요거


7. 빌드~ 하면 FiaAbout.dll과 FiaAbout.lib 생성됨



[DLL을 사용할 프로젝트에서 - 프로젝트명 Fia이며 다이얼로그 기반일때 ]

+ 프로젝트 생성시 About 체크해놓고 생성해야 수정하기 편함

1. 해당 프로젝트에 dll과 lib을 복사

2. Project Settings - Link(tab) - General(category) - Object/library modules에
FiaAbout.lib 추가후 OK

3. CFiaDlg.cpp에서

void CFiaDlg::OnSysCommand(UINT nID, LPARAM lParam) 찾아서

위에 다음 코드로 추가및 수정

extern __declspec(dllimport) void ShowFiaAboutDlg();

void CFiaDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
ShowFiaAboutDlg();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}


4. About관련 클래스 소스 및 리소스(IDD_ABOUT) 삭제.

5. 컴파일. 완료.
,
TOTAL TODAY