달력

12

« 2018/12 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  

'생성'에 해당되는 글 2

  1. 2010.05.12 MFC-새로운 자식 클래스 생성하기
  2. 2010.03.26 상속의 객체 생성, 소멸 과정





MFC에 대해서 뭐랄까 심도 있게 설명해 놓고 싶지만,

아무래도 그 내용이 방대하고, API에 대한 윈도우 구조를 다 파악 했다면 구지 다시 그 부분을 집고 넘어갈 필요는 없을것 같다. MFC에 대한 내용은, 가능한 나 스스로가 복습하면서 다시 한번 되돌아 본다는 식으로 포스팅을 하기로 하겠다.

프로젝트 생성은 살펴 보았고,

이제 기본적인 창에 무언가를 추가해 보자.

View.cpp 부분에 존재하는 CView를 상속받은 클래스가 존재할 것이다.


다음 처럼 멤버 변수를 CWnd로 추가하고,

[클래스뷰]-[속성]-[메시지탭]-[WM_CREATE]-[OnCreate 생성]



아마 다음과 같은 소스가 "자동"으로 만들어 졌을 것이다. 그 안에
조금전에 만들었던 멤버변수 m_wndChild 를 사용해 새로 자식 윈도우를 생성하자.


코드를 실행해 보면,
하나의 STATIC이 생성된 것을 알 수 있다.
참 쉽다... 고작 한줄 추가 했을 뿐인데, 이미 하나의 응용프로그램처럼 보이기 시작한다.
이것이 MFC의 장점인건가.
Create 메소드의 매개변수는 각각 인자, 내용, 스타일(속성), 크기(좌표), 부모 클래스의 주소, 자신의 ID 순으로 매개변수를 입력해 주면 된다.
예제는 STATIC 이지만, EDIT나, BUTTON등으로 설정하여도 우리가 원하는 대로 나오게 된다.

마찬 가지로 2개의 자식 윈도우를 생성한다고 하였을 때, 이전처럼 View에 새로운 CWnd 클래스 추가,
OnCreate 함수에 그 멤버 변수를 가지고 생성. 만 하면 된다.

API에서 WM_CREATE에서 해주었던 일들을, MFC로 넘어 오면서 OnCreate라는 함수가 대신 해준다고 보면된다.

// 실행 화면

'프로그래밍 > MFC' 카테고리의 다른 글

MFC-마우스 입력  (0) 2010.05.16
MFC-GetKeyState()  (0) 2010.05.12
MFC-GetWindowRect(), ScreenToClient(), SetWindowPos()  (0) 2010.05.12
MFC-키보드 입력  (0) 2010.05.12
MFC-새로운 자식 클래스 생성하기  (0) 2010.05.12
MFC-기본적인 생성 방법  (0) 2010.05.12
Posted by 안식의후크






상속의 객체 생성과 소멸 과정에 대해서 알아보자.

가장 중요한 것은
Inher_A 클래스를 상속 받은,
Inher_B 클래스를 생성할때,
A클래스의 생성자를 먼저 들린 후,
B클래스의 생성자를 수행한다는 것이다.
일단 소스를 보자.


소스에서도 알 수 있듯이 가장 중요한 것은
생성 순서는 최상위 클래스에서 단계별 하위 클래스로 이루어 지고.
소멸 순서는 취하위 클래스에서 단계별 상위 클래스로 이루어 진다는 것을 알 수 있다.
또한 기본적으로 상위 클래스의 생성자 선택은 멤버 이니셜라이저를 사용,
원하는 생성자로 이동이 가능하다.(아무것도 존재 하지 않는다면, 인자를 받지 않는 생성자를 수행.

'프로그래밍 > C++' 카테고리의 다른 글

IS-A, HAS-A 관계  (1) 2010.03.27
상속의 형태  (0) 2010.03.26
상속의 객체 생성, 소멸 과정  (0) 2010.03.26
상속의 개념  (0) 2010.03.24
public: private: 그리고 protected:  (0) 2010.03.24
explicit, mutable  (0) 2010.03.24
Posted by 안식의후크