디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

윈도우 CE 수업중인데 뭐가잘못된건지 선언되지않은 식별자래

Light search갤로그로 이동합니다. 2011.09.08 09:49:37
조회 344 추천 0 댓글 7


// GetDC.cpp : 응용 프로그램에 대한 진입점을 정의합니다.
//

#include "stdafx.h"
#include "GetDC.h"


#define MAX_LOADSTRING 100

// 전역 변수:
HINSTANCE   g_hInst;   // 현재 인스턴스입니다.
HWND    g_hWndMenuBar;  // 메뉴 모음 핸들입니다.

// 이 코드 모듈에 들어 있는 함수의 정방향 선언입니다.
ATOM   MyRegisterClass(HINSTANCE, LPTSTR);
BOOL   InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPTSTR    lpCmdLine,
                   int       nCmdShow)
{
 MSG msg;

 // 응용 프로그램 초기화를 수행합니다.
 if (!InitInstance(hInstance, nCmdShow))
 {
  return FALSE;
 }

 HACCEL hAccelTable;
 hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_GETDC));

 // 기본 메시지 루프입니다.
 while (GetMessage(&msg, NULL, 0, 0))
 {
  if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
  {
   TranslateMessage(&msg);
   DispatchMessage(&msg);
  }
 }

 return (int) msg.wParam;
}

//
//  함수: MyRegisterClass()
//
//  목적: 창 클래스를 등록합니다.
//
//  설명:
//
ATOM MyRegisterClass(HINSTANCE hInstance, LPTSTR szWindowClass)
{
 WNDCLASS wc;

 wc.style         = CS_HREDRAW | CS_VREDRAW;
 wc.lpfnWndProc   = WndProc;
 wc.cbClsExtra    = 0;
 wc.cbWndExtra    = 0;
 wc.hInstance     = hInstance;
 wc.hIcon         = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_GETDC));
 wc.hCursor       = 0;
 wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
 wc.lpszMenuName  = 0;
 wc.lpszClassName = szWindowClass;

 return RegisterClass(&wc);
}

//
//   함수: InitInstance(HINSTANCE, int)
//
//   목적: 인스턴스 핸들을 저장하고 주 창을 만듭니다.
//
//   설명:
//
//        이 함수를 통해 인스턴스 핸들을 전역 변수에 저장하고
//        주 프로그램 창을 만든 다음 표시합니다.
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
    HWND hWnd;
    TCHAR szTitle[MAX_LOADSTRING];  // 제목 표시줄 텍스트
    TCHAR szWindowClass[MAX_LOADSTRING]; // 주 창 클래스 이름

    g_hInst = hInstance; // 인스턴스 핸들을 전역 변수에 저장합니다.

    // CAPEDIT 및 SIPPREF와 같은 모든 장치 특수 컨트롤을 초기화하기 위해
    // 응용 프로그램을 초기화하는 동안 SHInitExtraControls를 한 번 호출해야 합니다.
    SHInitExtraControls();

    LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
    LoadString(hInstance, IDC_GETDC, szWindowClass, MAX_LOADSTRING);

    //이미 실행 중인 경우 창에 포커스를 둔 다음 끝냅니다.
    hWnd = FindWindow(szWindowClass, szTitle); 
    if (hWnd)
    {
        // 맨 앞 자식 창에 포커스를 설정합니다.
        // "| 0x00000001"을 사용하여 소유한 모든 창을 전경으로 보낸 다음
        // 활성화합니다.
        SetForegroundWindow((HWND)((ULONG) hWnd | 0x00000001));
        return 0;
    }

    if (!MyRegisterClass(hInstance, szWindowClass))
    {
     return FALSE;
    }

    hWnd = CreateWindow(szWindowClass, szTitle, WS_VISIBLE,
        CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);

    if (!hWnd)
    {
        return FALSE;
    }

    // CW_USEDEFAULT를 사용하여 주 창을 만드는 경우 메뉴 모음의 높이는
    // 고려되지 않습니다. 따라서 메뉴 모음이 있는 경우
    // 창을 만든 후 창의 크기를 조정합니다.
    if (g_hWndMenuBar)
    {
        RECT rc;
        RECT rcMenuBar;

        GetWindowRect(hWnd, &rc);
        GetWindowRect(g_hWndMenuBar, &rcMenuBar);
        rc.bottom -= (rcMenuBar.bottom - rcMenuBar.top);
  
        MoveWindow(hWnd, rc.left, rc.top, rc.right-rc.left, rc.bottom-rc.top, FALSE);
    }

    ShowWindow(hWnd, nCmdShow);
    UpdateWindow(hWnd);


    return TRUE;
}

//
//  함수: WndProc(HWND, UINT, WPARAM, LPARAM)
//
//  목적: 주 창의 메시지를 처리합니다.
//
//  WM_COMMAND - 응용 프로그램 메뉴를 처리합니다.
//  WM_PAINT - 주 창을 그립니다.
//  WM_DESTROY - 종료 메시지를 게시하고 반환합니다.
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
 RECT rect;

    static SHACTIVATEINFO s_sai;
 
    switch (message)
    {
 case WM_LBUTTONDOWN:
        case WM_COMMAND:
   hdc = GetDC(hWnd);
   GetClientRect(hWnd,&rect);
   DrawText(hdc,_T("마우스왼쪽버튼을 눌러 GetDC생성"),-1,
    &rect,DT_VCENTER);
   ReleaseDC(hWmd,hdc);
   break;
   
   wmId    = LOWORD(wParam);
            wmEvent = HIWORD(wParam);
            // 메뉴의 선택 영역을 구문 분석합니다.
            switch (wmId)
            {

           
                case IDM_HELP_ABOUT:
                    DialogBox(g_hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, About);
                    break;
                case IDM_OK:
                    SendMessage (hWnd, WM_CLOSE, 0, 0);    
                    break;
                default:
                    return DefWindowProc(hWnd, message, wParam, lParam);
            }
            break;
        case WM_CREATE:
            SHMENUBARINFO mbi;

            memset(&mbi, 0, sizeof(SHMENUBARINFO));
            mbi.cbSize     = sizeof(SHMENUBARINFO);
            mbi.hwndParent = hWnd;
            mbi.nToolBarId = IDR_MENU;
            mbi.hInstRes   = g_hInst;

            if (!SHCreateMenuBar(&mbi))
            {
                g_hWndMenuBar = NULL;
            }
            else
            {
                g_hWndMenuBar = mbi.hwndMB;
            }

            // 셸 활성화 정보 구조 초기화
            memset(&s_sai, 0, sizeof (s_sai));
            s_sai.cbSize = sizeof (s_sai);
            break;
        case WM_PAINT:
            hdc = BeginPaint(hWnd, &ps);
           
            // TODO: 여기에 그리기 코드를 추가합니다.
           
            EndPaint(hWnd, &ps);
            break;
        case WM_DESTROY:
            CommandBar_Destroy(g_hWndMenuBar);
            PostQuitMessage(0);
            break;

        case WM_ACTIVATE:
            // 활성화 메시지를 셸에 알립니다.
            SHHandleWMActivate(hWnd, wParam, lParam, &s_sai, FALSE);
            break;
        case WM_SETTINGCHANGE:
            SHHandleWMSettingChange(hWnd, wParam, lParam, &s_sai);
            break;

        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}

// 정보 대화 상자의 메시지 처리기입니다.
INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        case WM_INITDIALOG:
            {
                // [완료] 단추를 만들고 크기를 조정합니다. 
                SHINITDLGINFO shidi;
                shidi.dwMask = SHIDIM_FLAGS;
                shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIPDOWN | SHIDIF_SIZEDLGFULLSCREEN | SHIDIF_EMPTYMENU;
                shidi.hDlg = hDlg;
                SHInitDialog(&shidi);
            }
            return (INT_PTR)TRUE;

        case WM_COMMAND:
            if (LOWORD(wParam) == IDOK)
            {
                EndDialog(hDlg, LOWORD(wParam));
                return TRUE;
            }
            break;

        case WM_CLOSE:
            EndDialog(hDlg, message);
            return TRUE;

    }
    return (INT_PTR)FALSE;
}













오류코드


1>------ 빌드 시작: 프로젝트: GetDC, 구성: Debug Windows Mobile 5.0 Pocket PC SDK (ARMV4I) ------
1>컴파일하고 있습니다...
1>GetDC.cpp
1>.\\GetDC.cpp(172) : error C2065: \'hWmd\' : 선언되지 않은 식별자입니다.
1>빌드 로그가 "file://c:\\Documents and Settings\\user\\My Documents\\Visual Studio 2008\\Projects\\GetDC\\GetDC\\Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\\Debug\\BuildLog.htm"에 저장되었습니다.
1>GetDC - 오류: 1개, 경고: 0개
========== 빌드: 성공 0, 실패 1, 최신 0, 생략 0 ==========

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 끝까지 다 본 걸 후회하게 만든 용두사미 드라마는? 운영자 25/07/07 - -
공지 프로그래밍 갤러리 이용 안내 [88] 운영자 20.09.28 45315 65
2870722 자주국방 시작하는 이재명 야옹아저씨갤로그로 이동합니다. 21:05 2 0
2870720 외케 취업 어려움 무관갤로그로 이동합니다. 20:56 7 0
2870719 Nginx Proxy Manager 질문이요 ㅠ [3] 프갤러(1.236) 20:56 11 0
2870718 막장 아마추어 리죄명 끌어내리고 처벌해야 ♥냥덩이♥갤로그로 이동합니다. 20:31 11 0
2870717 코드주면 알아서 포트폴리오 짜주는 그런거 없나 ㅇㅇ(223.38) 20:27 15 0
2870715 모든소스 짜는걸 gpt한테 넘긴다.. ㅇㅇ(175.197) 20:13 16 0
2870714 멍퀴벌레님 깝치지 마세양❤+ 나님 삼대 5백 출신이에양⭐+ ♥냥덩이♥갤로그로 이동합니다. 20:12 20 0
2870713 민생지원쿠폰 스위치 1,2 또는 데이터복구 업체에 하드 스마트폰 맡기기 넥도리아(121.139) 20:01 9 0
2870712 ❤✨☀⭐나님 시작합니당⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 19:56 10 0
2870711 아 ㄹㅇ 개피곤하넹 [1] ♥냥덩이♥갤로그로 이동합니다. 19:29 17 0
2870710 초Ai 스카이넷 냥덩❤ [1] ♥냥덩이♥갤로그로 이동합니다. 19:26 23 0
2870709 러스트로 소설 써볼까 [1] 루비갤로그로 이동합니다. 19:21 18 0
2870708 타자 하두 많이 쳐서 손가락이 다 아프네 루비갤로그로 이동합니다. 19:19 14 0
2870707 살면서 호구처럼 당하기 싫으면 알고있자 [1] ㅇㅇㅇㅇ(124.198) 19:17 21 0
2870706 오늘 생일인데 아직도 버그 수정중 [5] ㅆㅇㅆ(124.216) 19:06 31 0
2870705 솔직히 회사 밥 먹이는 개발자 몇이나 된다고 [3] 프갤러(106.101) 19:05 42 0
2870704 날씨 애미뒤졌네 [1] 류류(118.235) 19:01 18 0
2870703 나님 피궁피궁.. ♥냥덩이♥갤로그로 이동합니다. 18:51 8 0
2870702 근디 나 Vue는 공부 안했고 Solid는 공부했는데 왜 Solid는 [2] ㅆㅇㅆ(124.216) 18:30 28 0
2870701 흠.. 빨라야 10월인강간.. ♥냥덩이♥갤로그로 이동합니다. 18:30 13 0
2870700 기술스택 생각해서 리액트 썼는데 후회됨 [6] 거북이속이거북갤로그로 이동합니다. 18:26 47 0
2870699 어쨌건 신문 다 읽었고 아직도 디버깅중 [4] ㅆㅇㅆ(124.216) 18:05 38 0
2870697 보통 인터넷 방송 보는 애들은 통계적으로 자존감이 낮은 편이니까 [3] ㅆㅇㅆ(124.216) 17:48 40 0
2870696 러스팅 소울, 6장: 최후의 유혹, 아니면 심연으로의 추락 루비갤로그로 이동합니다. 17:46 11 0
2870695 굴단인가 뭔가 무급노동 착취 논란봤는데 왜저런지 알겠네 [1] ㅆㅇㅆ(124.216) 17:31 51 2
2870694 뉴비 언어 동시에 배우면 헷갈림? [5] ㅇㅇ갤로그로 이동합니다. 17:24 33 0
2870693 피궁하넹.. [1] ♥냥덩이♥갤로그로 이동합니다. 16:56 16 0
2870691 AI병목 현상은 뭐 다른 프로그래머들도 다 있어서 AI로 다 못하지 [1] ㅆㅇㅆ(124.216) 16:42 25 0
2870690 'AI 부정론자를 패는 나' ㅇㅇ(223.38) 16:37 21 0
2870689 GPT랑 gemini 조련 중 [2] 아스카영원히사랑해갤로그로 이동합니다. 16:33 33 0
2870688 클로드도 코드좀 치지 않음? [3] 프갤러(175.208) 16:05 38 0
2870687 애플 디벨로퍼 아카데미? [2] 프갤러(118.235) 15:52 41 0
2870684 하 씨발 1차 납품했는데 버그 원인을 못찾겠어 [5] ㅆㅇㅆ(124.216) 15:14 58 0
2870682 정좌불능증 [3] 재현갤로그로 이동합니다. 14:53 33 0
2870680 덥다 [3] 루도그담당(211.235) 14:31 33 0
2870673 [대한민국] 모스탄 대사 그라운드 씨에 출현 예정- [1] 프갤러(121.172) 12:37 33 1
2870672 코드 가장 잘 짜는 AI 뭐냐? [13] 아스카영원히사랑해갤로그로 이동합니다. 12:18 128 0
2870671 종종 끌올되는 픎 자컨팀 빼앗겼다는 날조선동 ㅇㅇ(110.70) 12:01 39 0
2870670 지피티 씨발 존나 답답하네 [1] 아스카영원히사랑해갤로그로 이동합니다. 11:38 62 0
2870669 한국에 과학수사 포렌식 이런직업이 많은이유는 뒷통수한방(1.213) 11:14 59 0
2870668 저커버거 빌게이츠 머스크 이런애들 좇센에서태어났으면 뒷통수한방(1.213) 11:02 63 1
2870667 헬마님 질문이 있습니다 [7] 아스카영원히사랑해갤로그로 이동합니다. 09:59 68 0
2870666 짱깨폭염 짱깨들 전부 좇센으로 물들었네 뒷통수한방(1.213) 09:55 24 0
2870664 자러 간다~ ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09:29 13 0
2870662 흑흑.. 내컴이 내 선풍기 가져갔다.. ㅇㅅㅇ [5] 헤르 미온느갤로그로 이동합니다. 09:21 43 0
2870658 게임엔진개발자 맥북 [7] 미니애폴리스갤로그로 이동합니다. 07:30 79 0
2870655 완결) 러스트 담론을 해체하다 루비갤로그로 이동합니다. 06:36 46 1
2870653 나팔 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 04:24 25 0
2870652 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 03:44 29 0
뉴스 '신발 벗고 돌싱포맨' 김준호, “후배하고 뽀뽀하는 것 이상했다” 김지민과의 연애 회상 디시트렌드 14:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2