Liea
'① 공부/C++' 카테고리의 글 목록

① 공부/C++

① 공부/C++

[MFC 프로그래밍] 대화상자 기반 프로그램, 컨트롤 변수

대화상자 기반의 프로그램 CDialogEx 클래스 대화상자 - 사용자와 윈도우간의 인터페이스 CDialogEx 클래스 - 대화상자는 CDialogEx 클래스로 정의 - 모든 윈도우 메시지 처리 가능 - 배경색과 배경그림을 바꾸는 기능 추가 대화상자 기반의 프로그램 - 애플리케이션 클래스와 다이얼로그 클래스로 구성 클래스 기저 클래스 설명 CP1App CWinApp 프로젝트 전체를 관리하는 클래스 CP1Dlg CDialogEx 대화상자의 기능을 구현하는 실제적인 클래스 CAboutDlg CDialogEx 도움말 정보 클래스 컨트롤과 멤버변수의 연결 - 컨트롤의 핸들을 얻기 위해 컨트롤의 포인터를 받을 객체 포인터 변수 선언 - GetDlgItem() 함수를 이용하여 컨트롤의 핸들을 얻어옴 - 클래스의 멤버..

① 공부/C++

[MFC 프로그래밍] 키보드 메시지 처리

키보드 메시지와 메시지 핸들러 함수 - 키보드 메시지와 메시지 핸들러 함수 메시지 유형 발생 상황 메시지 핸들러 함수 WM_KEYDOWN 키를 누름 OnKeyDown() WM_KEYUP 키에서 손을 뗌 OnKeyUp() WM_CHAR 화면에 문자가 표시되는 키를 누름 OnChar() - 문자가 입력된 이벤트에 발생되는 메시지 ㄴ 먼저 WM_KEYDOWN이 발생되고, WM_CHAR가 발생되고 마지막으로 WM_KEYUP이 발생된다. - 키보드 메시지 핸들러 함수 nChar : 눌려진 키의 가상키 코드 nRepCount : 키를 계속 누르고 있을 경우 반복된 키의 입력 횟수 nFlags : 키보드에 대한 상태정보 실습1 방향키, 페이지 업, 페이지 다운, Home키 ← (x좌표 왼쪽으로 1씩 이동) → (x좌..

① 공부/C++

[MFC 프로그래밍] 메시지박스, 마우스 메시지 처리, Timer처리(메시지/함수)

메시지 처리의 기본 개념 메시지 : 발생된 이벤트의 종류와 정보를 전달하는 일종의 상수 값 윈도우 프로그래밍 : 가장 중요한 것은 메시지를 처리하는 것 메시지의 종류 윈도우 메시지 - WM_로 시작하는 메시지 (WM_COMMAND는 제외) - 핸들러 함수에 매개 변수가 있어 메시지를 어떻게 처리할 것인지를 결정 컨트롤 통지 메시지 - Button, Combo Box와 같은 제어 객체나 자식 윈도우에서 부모 윈도우로 보내는 메시지 명령 메시지 - 메뉴, 툴바, 엑셀레이터 키와 같은 사용자 인터페이스 객체로부터 발생되는 WM_COMMAND 메시지 메시지 박스 API 방식 : MessageBox() MFC 방식 : AfxMessageBox() 메시지박스 처리 AfxMessageBox(_T("안녕하세요")); ..

① 공부/C++

[MFC 프로그래밍] MFC의 개요 및 클래스 정의

MFC의 개요 MFC 윈도우 애플리케이션을 생성하기 위해 만들어진 C++ 클래스 라이브러리 애플리케이션 프레임워크 제공 MFC의 장점 개발시간 단축, 이식성이 강한 코드 작성 ActiveX, OLE, 인터넷 프로그래밍 같은 기술 지원 응용 프로그램(DB, 네트워크)을 쉽게 작성 강력한 사용자 인터페이스 지원 MFC의 표기법 헝가리안 표기법 [ 클래스는 모두 C로 시작 ] (ex. CFrameWnd, CWinApp, CView 등) [ 멤버 변수는 m_로 시작, 멤버 함수는 대문자로 시작 ] [ 전역 함수는 Afc라는 접두어가 붙음 ] (AFX : Application Framework) 프로그램의 주요 클래스 : SDI (Single Document Interface) CView ——— CP1View C..

① 공부/C++

C++. String 클래스

[ String 클래스 ] #include

① 공부/C++

C++. 동적할당

[ 동적할당 ] 1. 변수, 배열 동적할당 //변수 int *ptr = new int; *ptr = 10; //배열 int *ptr = new int[3]; for( int i = 0; i getArea(); (*p).getArea(); 4. 객체 해제 delete p; #### [실습1] 정수 반지름을 입력 받고 Circle 객체를 동적 생성하여 면적을 출력하라. 음수가 입력되면 프로그램 종료. ---- 출력창 정수 반지름입력 (음수입력 종료) 5 원의 면적은 78.5 정수 반지름입력 (음수입력 종료) 9 원의 면적은 254.34 정수 반지름입력 (음수입력 종료) -3 코드 더보기 //정수 반지름을 입력 받고 Circle 객체를 동적 생성하여 면적을 출력하라. 음수가 입력되면 프로그램 종료. #incl..

① 공부/C++

C++. 포인터 변수, 객체 포인터, 객체 배열

[ 포인터 변수 ] int num = 10; int * ptr = # int A[5]; [ 객체 포인터 ] CIrcle donut; Circle * ptr = &donut; [ 객체 배열 ] Circle A[5]; //Circle pizza(30); Circle donut; 1) Circle 클래스로부터 만든 객체를 저장할 수 있는 배열(사이즈 5) 2) 객체생성되어서 배열에 저장( 5번 생성자 호출) : void 생성자 호출(매개 변수 없는 생성자) 3) 객체 배열 생성 시 원하는 생성자 호출하는 방법 (임시객체) ex) Circle A[5](15); //오류 int Array[3] = {1, 2, 3}; //배열초기화와 임시객체는 비슷함 Circle circleArray[3] = { Circl..