//------------------ 헤더선언 시작---------------------    //
#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. 
 
2006/05/13 23:17 2006/05/13 23:17

글 걸기 주소 : 이 글에는 트랙백을 보낼 수 없습니다

덧글을 달아 주세요