본문 바로가기
컴퓨터과학[2-1]/knou_[2-1]Visual_C

Visual C++ 2강 메인 윈도우 생성

by boolean 2015. 1. 10.
728x90

Visual C++ 2강 메인 윈도우 생성



Execute visual studio  and create project 

File > New > project > win32 >win32 project > create prject name

     > create directiry for solution check >win32 application wizard

     >Choice Windows application program >Check  Empty project

     > Check out SDL(Security Development Lifecycle) > Finish

Add Source File

View > Solution Explorer > Source Files > mouse right click

     > Add > New Item >Installed Templates > Visual C++

     > C++ File(.cpp) > Create file name > Add

  1. 메인 윈도우 생성 프로젝트 과정
  • Win32 응용프로그램 마법사 - 시작단계
  • Win32 응용프로그램 마법사 - 응용프로그램 설정하는 단계
  • 소스 파일 추가 - 솔루션 탐색기에서 [소스 파일]을 추가하는 단계
  • C++ 파일 생성 - C++파일 선택, 파일 이름 입력, 저장위치 폴더 지정
  • 소스코드 작성
  • 문자집합 설정
  • 실행 - F5키나 Ctrl + F5키를 눌러 실행한다.
  1. WinMain함수는 윈도우 메인 함수라고 하며 콘솔 응용 프로그램에서 등장하는 main( )함수에 해당한다. 이러한 함수를 프로그램의 진입점(entry point)라고 하는데 프로그램이 실행 될 때 처음 시작하는 부분이라는 의미이며 모든 윈도우 프로그램은 이 함수를 가지고 있어야만 독립적으로 실행 가능한 프로그램이 된다.
  2. 메인 함수의 본체는 윈도우 클래스 정의, 윈도우 클래스 등록, 윈도우 객체 생성, 화면에 윈도우 보이기와 Message Loop등으로 구성된다.
  3. 윈도우 클래스 구조체는 프로그램이 생성시킬 윈도우의 기본 속성들을 담아두는 구조체로 메인함수의 서두 부분에서 이 구조체의 각 항목에 값을 할당한다.
  4. 윈도우 클래스 정의가 끝나면 RegitserClass함수를 호출하여 방금 전에 생성한 윈도우 클래스를 운영체제 시스템에 등록한다. 만일 프로그램이 어떤 윈도우를 생성하고자 할 경우에는 이처럼 생성하고자 하는 윈도우의 클래스를 먼저 만들고 이를 운영체제에 등록해주어야 한다.
  5. 윈도우 클래스를 등록하고 나면 CreateWindow 또는 CreateWindowEx함수를 호출하여 등록한 윈도우 클래스를 사용한 윈도우를 만들게 된다.
  6. 윈도우를 생성한 후에는 윈도우를 화면에 보이게 하기위하여 ShowWindow 함수를 호출한다.
  7. 메인 윈도우의 생성이 성공하더라도 화면에 잠깐 보이고 사라질 뿐이다. 계속 화면에 나타나게 하려면 다음과 같이 메시지 루프를 수행해야 한다.
  8.  
    while(GetMessage(&Message,0,0,0)) 
              {
              TranslateMessage(&Message);
              DispatchMessage(&Message);
           } 
  9. CALLBACK(Callback) 함수는 프로시저 함수라고도 한다. 응용 프로그램이 제공하며 운영체제가 필요할 때 호출하는 함수이다. 호출되는 방향이 거꾸로 되었기 때문에 ‘CALLBACK’이라고 부르는 것이다. CALLBACK함수는 "운영체제에 의해 호출되는 프로그램 내부의 함수"라고 할 수 있다.
  10. 메시지는 시스템이나 응용 프로그램에 의해 생성된다. 키보드나 마우스 등의 사용자 입력 시 시스템은 입력에 대해 메시지를 발생시키며 시스템의 상황변화를 통지하기 위해서도 메시지를 발생시킨다. 응용 프로그램도 윈도우 간의 통신을 위해 메시지를 보내며 특정함수 호출에 의해 간접적으로 메시지가 발생하기도 한다. 이처럼 윈도우 운영체제는 끊임없는 메시지의 생성과 처리를 무수히 반복하면서 실행되는 것이다.


댓글