일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- pytorch zero to all
- 모두의 딥러닝
- c언어
- 파이토치 강의 정리
- 딥러닝 스터디
- 케라스 정리
- pytorch
- 딥러닝 공부
- c언어 정리
- 팀프로젝트
- 가우시안 필터링
- 김성훈 교수님 PyTorch
- c++공부
- 영상처리
- 컴퓨터 비전
- MFC 프로그래밍
- 파이토치 김성훈 교수님 강의 정리
- 미디언 필터링
- 파이토치
- Pytorch Lecture
- 골빈해커
- matlab 영상처리
- c++
- TensorFlow
- object detection
- 해리스 코너 검출
- C언어 공부
- 딥러닝
- 모두의 딥러닝 예제
- tensorflow 예제
- Today
- Total
ComputerVision Jack
[MFC - MFC 기초 클래스] 본문
MFC 콘솔(Console) 응용프로그램
MFC 콘솔 응용프로그램 장점
1. 일반 GUI 응용프로그램과 달리 메시지 구동 방식으로 프로그래밍 하지 않아도 된다.
C나 C++ 언어에 대한 지식만 있으면 실습할 수 있다.
2. 상당수의 MFC 클래스를 사용할 수 있다.
유틸리티 클래스와 집합 클래스가 포함된다.
3. 알고리즘 개발 시 유용하게 사용할 수 있다.
알고리즘 개발시 화려한 GUI 보단 기능 구현을 중시하기 때문에 프로그램이 간편한 콘솔 응용프로그램을 많이 사용.
Visual 2019 버전으로 파일을 생성하고 else 부분에 단순 코딩으로 인해 콘솔 프로그램이 실행된다.
위 코드의 실행 결과는 단순 콘솔창에 string을 보여주는 용도이다.
유틸리티 클래스(Utility Class) = 윈도우 응용프로그램에서 사용되는 데이터 타입이나 기능을 좀 더 편리하게 사용할 수 있도록 MFC에서 제공하는 클래스를 총칭하는 용어.
CString 클래스
프로그래밍 할 때 가장 많이 다루는 데이터.
- C언어 문자열 지원 방식
- C++ 언어의 문자열 지원 방식
- CString 클래스의 기능
CString 클래스의 특징
- ANSI 또는 유니코드 문자열 지원
- 가변 길이 문자열 지원
- const TCHAR* 또는 LPCTSTR 대신 CString 객체 직접 사용가능
CString::Format() 함수 : 데이터를 문자열로 변환해서 버퍼에 출력한다.
CString::LoadString() 함수 : 문자열 테이블에서 문자열 리소스를 로드한다.
CPoint, CRect, CSize 클래스
CPoint 클래스
구조체 타입 POINT에서 파생한 클레스. LONG 타입의 x, y를 멤버 변수로 갖는다.
CPoint::CPoint(int x, int y);
CRect 클래스
구조체 타입 RECT에서 파생한 클래스, LONG타입의 left, top, right, bottom의 멤버 변수를 갖는다.
CRect 클래스 초기화 방법 - 네 개의 멤버 변수를 직접 생성자의 인자로 받는다
CRect::CRect(int l, int t, int r, int b);
CSzie 클래스
구조체 타입 SIZE에서 파생한 클래스, LONG타입의 cx, cy를 멤버 변수로 갖는다.
CSize::CSize(int x, int y);
CTime, CTimeSpan 클래스
CTime 클래스는 절대적인 시간 (현재시간)을 처리하며, CTimeSpan 클래스는 시간의 차이값을 처리한다.
집합 클래스(Collection Class) = 배열, 연결리스트와 같은 자료구조를 좀 더 편리하게 사용 할수 있도록 MFC에서 제공하는 클래스
배열 클래스
MFC가 제공하는 배열 클래스는 템플릿 클래스와 비 템플릿 클래스 두 종류로 나눌 수 있다.
템플릿 클래스 - afxtempl.h 헤더파일 필요
- CArray - 데이터타입 프로그래머가 결정
비템플릿 클래스
- CByteArray - Byte
- CWordArray - WORD
- CDWordArray - DWORD
- CUIntArray - UINT
- CStringArray - CString
- CPtrArray - void 포인터
리스트 클래스
MFC가 제공하는 리스트 클래스는 템플릿 클래스와 비 템플릿 클래스 두 종류로 나눌 수 있다.
템플릿 클래스
- CList - 데이터 타입 프로그래머가 결정
비 템플릿 클래스
- CObList - CObject 포인터
- CPtrList - void 포인터
- CStringList - CString 객체
리스트 생성과 초기화 순서
1. 리스트 객체를 생성한다.
2. AddHead() 또는 AddTail() 함수를 호출하여 원소를 리스트의 앞쪽이나 뒤쪽에 추가한다.
맵 클래스
맵Map은데이터를 저장할 때 키 Key를 이용하여 저장 위치를 결정하는 자료구조.
템플릿 클래스
- CMap - 데이터 타입 프로그래머가 결정
비 템플릿 클래스
- CMapWordToOb - WORD -> CObject 포인터
- CMapWordToPtr - WORD -> void 포인터
- CMapPtrToPtr - void 포인터 -> void 포인터
- CMapStringToOb - 문자열 -> CObject 포인터
'Image Processing > MFC Programming' 카테고리의 다른 글
[MFC - MFC 프로그램 구조] (0) | 2020.08.17 |
---|---|
[MFC - Chater2 연습 문제] (2) | 2020.08.06 |
[MFC - Chater1 연습 문제] (0) | 2020.08.03 |
[MFC - 윈도우 프로그래밍 기초] (0) | 2020.08.03 |
[MFC 프로그래밍 - Chapter9] (0) | 2020.02.28 |