//------------------ 헤더선언 시작--------------------- //
#pragma once
// 거의 사용되지 않는 내용은 Windows 헤더에서 제외합니다.
#define WIN32_LEAN_AND_MEAN
// Windows 헤더 파일입니다.
#include <windows.h>
// 리소스 헤더 파일 입니다.
#include "resource.h"
// C의 런타임 헤더 파일입니다.
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>
//------------------ 헤더선언 끝 --------------------- //
BOOL CALLBACK WndDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
/*
함수: wWinMain( // 유니코드 파라매터를 지원하는 WinMain
HINSTANCE hInstance, // 프로그램의 ImageBase를 가르킨다.
HINSTANCE hPrevInstance, // 부모 윈도우의 인스턴스를 가르킨다.
LPTSTR lpCmdLine, // CmdLine의 스트링값의 포인터를 받는다.
int nCmdShow) // 윈도우가 보여지는 값을 정한다.(SW_SHOW)
목적: 주 다이얼로그의 명령(메시지)을 처리합니다.
WM_COMMAND - 응용 프로그램의 명령(ID)을 처리합니다.
WM_CLOSE - 다이얼로그 종료시 0을 반환하고 종료합니다.
*/
int APIENTRY wWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
/*
함수: DialogBox(
hInstance // 프로그램의 ImageBase를 가르킨다.
MAKEINTRESOURCE(IDD_DIALOG1) // 리소스에 적용한 아이템 이름(ID)을 정수값으로 바꾸어 준다.
HWND_DESKTOP // 부모 윈도우의 핸들(데스크톱의 값을 제공)
WndDlgProc) // 다이얼로그 메시지 프로시져의 주소를 대입하여 준다.
목적: 주 다이얼로그 박스를 실행합니다.
*/
DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), HWND_DESKTOP, WndDlgProc);
return 0;
} // wWinMain() end.
/*
함수: WndDlgProc(HWND hDlg, UINT message, WORD, LONG)
목적: 주 다이얼로그의 명령(메시지)을 처리합니다.
WM_COMMAND - 응용 프로그램의 명령(ID)을 처리합니다.
WM_CLOSE - 다이얼로그 종료시 0을 반환하고 종료합니다.
*/
BOOL CALLBACK WndDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
switch (message)
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
// wPARAM의 상위워드와 하위워드를 나누어 저장한다.
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
switch (wmId)
{
case IDOK:
MessageBox( NULL, "확인", "테스트", MB_OK );
break;
case IDCANCEL:
MessageBox( NULL, "취소", "테스트", MB_OK );
break;
default:
return FALSE;
} // switch (wmId) end.
break;
case WM_CLOSE:
EndDialog(hDlg, 0);
break;
default:
return FALSE;
} // switch (message) end.
return TRUE;
} // WndDlgProc() end.
#pragma once
// 거의 사용되지 않는 내용은 Windows 헤더에서 제외합니다.
#define WIN32_LEAN_AND_MEAN
// Windows 헤더 파일입니다.
#include <windows.h>
// 리소스 헤더 파일 입니다.
#include "resource.h"
// C의 런타임 헤더 파일입니다.
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>
//------------------ 헤더선언 끝 --------------------- //
BOOL CALLBACK WndDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
/*
함수: wWinMain( // 유니코드 파라매터를 지원하는 WinMain
HINSTANCE hInstance, // 프로그램의 ImageBase를 가르킨다.
HINSTANCE hPrevInstance, // 부모 윈도우의 인스턴스를 가르킨다.
LPTSTR lpCmdLine, // CmdLine의 스트링값의 포인터를 받는다.
int nCmdShow) // 윈도우가 보여지는 값을 정한다.(SW_SHOW)
목적: 주 다이얼로그의 명령(메시지)을 처리합니다.
WM_COMMAND - 응용 프로그램의 명령(ID)을 처리합니다.
WM_CLOSE - 다이얼로그 종료시 0을 반환하고 종료합니다.
*/
int APIENTRY wWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
/*
함수: DialogBox(
hInstance // 프로그램의 ImageBase를 가르킨다.
MAKEINTRESOURCE(IDD_DIALOG1) // 리소스에 적용한 아이템 이름(ID)을 정수값으로 바꾸어 준다.
HWND_DESKTOP // 부모 윈도우의 핸들(데스크톱의 값을 제공)
WndDlgProc) // 다이얼로그 메시지 프로시져의 주소를 대입하여 준다.
목적: 주 다이얼로그 박스를 실행합니다.
*/
DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), HWND_DESKTOP, WndDlgProc);
return 0;
} // wWinMain() end.
/*
함수: WndDlgProc(HWND hDlg, UINT message, WORD, LONG)
목적: 주 다이얼로그의 명령(메시지)을 처리합니다.
WM_COMMAND - 응용 프로그램의 명령(ID)을 처리합니다.
WM_CLOSE - 다이얼로그 종료시 0을 반환하고 종료합니다.
*/
BOOL CALLBACK WndDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
switch (message)
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
// wPARAM의 상위워드와 하위워드를 나누어 저장한다.
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
switch (wmId)
{
case IDOK:
MessageBox( NULL, "확인", "테스트", MB_OK );
break;
case IDCANCEL:
MessageBox( NULL, "취소", "테스트", MB_OK );
break;
default:
return FALSE;
} // switch (wmId) end.
break;
case WM_CLOSE:
EndDialog(hDlg, 0);
break;
default:
return FALSE;
} // switch (message) end.
return TRUE;
} // WndDlgProc() end.
덧글을 달아 주세요