|
김용진 님이 쓰신 글 :
: //Hello.cpp
: //
: //마우스 왼쪽 버튼을 테스트하는 프로그램이다.
:
: #include<windows.h>//왼도우즈 프로그램을 작성하는데 필요한 구조체
"오른도즈"도 아니고 "왼도우즈"라... ^^; 정확한 표기는 "윈도우즈", "윈도즈"겠지요.
: //각종 API 함수, 메크로, 메시지등이 선언된 헤다 화일로
: //왼도우즈 프로그램에 반드시 포함되어야 한다.
: HINSTANCE g_hInst; //인스턴스 핸들을 저장하기 위한 전역변수
: //왼도우 프로시저 선언
: LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
: //왼도우 프로시져에 대한 선언
: //WINMAIN() : 왼도우즈 어플리케이션의 진입점
: //여기서 프로그램이 시작된다.
: //콘솔기반 c 프로그램의 MAIN(0에 해당한다.
: INT APIENTRY WinMain(HINSTANCE hInstance,
: HINSTANCE hPrevInstance,
: LPTSTR lpCmdLine,
: int nCmdshow)
: {
: static char szClassname[] = "Hello";//왼도우 클래스 이름
: static char szTitle[]="안녕하세요!";//타이틀바에 출력될 문자열
:
: MSG msg; //메시지 구조체
: HWND hWnd; //왼도우 핸들
: WNDCLASSEX wc; //왼도우 클래스 구조체
: g_hInst=hInstance; //인스턴스 핸들 저장
: ////////////////// 왼도우 클래스 구조체에 값을 지정한다.
: /////////////////////
: wc.cbSize=sizeof(WNDCLASSEX); //왼도우 클래스 구조체의 크기
: wc.style=CS_HREDRAW | CS_VREDRAW; //클래스 스타일
: //왼도우 프로시져를 왼도우 클래스 구조체에 등록
: wc.lpfnWndProc =WndProc;
: wc.cbClsExtra =0;
: wc.cbWndExtra =0;
: wc.hInstance =hInstance;
: wc.hIcon =LoadIcon(NULL,IDI_APPLICATION);
: wc.hCursor =LoadCursor(NULL,IDC_ARROW);
: wc.hbrBackground =(HBRUSH) GetStockObject(WHITE_BRUSH);
: wc.lpszMenuName =NULL;
: wc.lpszClassName =szClassname;
: wc.hIconSm =LoadIcon(NULL,IDI_APPLICATION);
: ///////////////////////////////
: RegisterClassEx(&wc);//
: ////////////////////////
:
: hWnd = CreateWindow(
: szClassname,
: szTitle,
: WS_OVERLAPPEDWINDOW,
: CW_USEDEFAULT,
: CW_USEDEFAULT,
: CW_USEDEFAULT,
: CW_USEDEFAULT,
: NULL,
: NULL,
: hInstance,
: NULL
: );
:
: if(!hWnd)
: return(FALSE);
:
: /////////////////////
:
: ShowWindow(hWnd,nCmdshow);
: UpdateWindow(hWnd);
:
: //////////////
:
: while(GetMessage (&msg, NULL, 0, 0))
: {
: TranslateMessage(&msg);
: DispatchMessage(&msg);
: }
:
: return msg.wParam;
: }
:
:
: //////////////////////////////
: ////////////////////////////
:
: LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg,
: WPARAM wParam, LPARAM lparam)
: {
: //
: //
:
: switch(uMsg)
: {
: case WM_LBUTTONDOWN:
: MessageBox(hWnd,"마우스 좌측 버튼을 눌렀습니다.","마우스 테스트", MB_OK);
: break;
: case WM_DESTROY: //
: PostQuitMessage(0);
: break;
:
default: // ;를 :로 고치세요.
: return DefWindowProc(hWnd,uMsg,wParam,lparam);
:
: }
return 0; // 리턴값이 있어야 합니다.
:
: }
:
:
: ============================================================================]
: 위 내용대로 컴파일 했는데 에라가 나오네요...
: 음 어디가 이상이 있는지 알켜주세요....ㅠㅠ
: 초보라...그래요..
솔직히 말해서, 님 말대로 심각하군요.
이 정도도 못 고치실 정도라면 윈도우 프로그래밍은 무리입니다.
콘솔 프로그래밍의 기초부터 배우시길 권합니다.
|