|
김백일.cedar 님이 쓰신 글 :
: 김용진 님이 쓰신 글 :
: : //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; // 리턴값이 있어야 합니다.
: :
: : }
: :
: :
: : ============================================================================]
: : 위 내용대로 컴파일 했는데 에라가 나오네요...
: : 음 어디가 이상이 있는지 알켜주세요....ㅠㅠ
: : 초보라...그래요..
:
: 솔직히 말해서, 님 말대로 심각하군요.
: 이 정도도 못 고치실 정도라면 윈도우 프로그래밍은 무리입니다.
: 콘솔 프로그래밍의 기초부터 배우시길 권합니다.
|