본문 바로가기

윈도우프로그래밍

(7)
[윈도우 프로그래밍] 사용자 인터페이스 1. 메뉴 윈도우에서 가장 보편적으로 사용되는 사용자 인터페이스 해당 애플리케이션이 갖고 있는 기능을 사용자에게 알려주고 사용자 선택에 따라 기능을 수행할 수 있도록 매개 역할을 함 메뉴의 종류 풀 다운 메뉴: 사용자가 메뉴 카테고리 하나를 선택하면 선택된 카테고리 아래로 메뉴가 뚝 떨어지면서 애플리케이션의 기능을 작동시킬 수 있는 메뉴항목이 나타남 캐스캐이딩 메뉴: 풀다운 메뉴에서 변형된 형태로, 메뉴 항목의 오른쪽에 또 하나의 서브 메뉴가 나타남 팝업 메뉴 또는 문맥 메뉴: 애플리케이션 영역의 중간에서 자유롭게 튀어나오는 메뉴, 대표적인 팝업 메뉴는 오른쪽 마우스 버튼을 클릭하면 나오는 단축 메뉴 메뉴 리소스 리소스 뷰의 Menu에서 IDR_MAINFRAME 더블 클릭하면 기본 메뉴 기본 메뉴 [파일..
[윈도우 프로그래밍 7장] 그래픽 객체의 사용 1. GDI와 DC의 개념 GDI (Graphic Device Interface) 윈도우를 설치하면 비디오 카드와 맞는 디바이스 드라이버를 윈도우가 설정해 줌 그래픽을 출력하고자 하는 응용 프로그램은 윈도우에게 요청 을 하고, 윈도우는 디바이스 드라이버를 호출하면 디바이스 드라이버가 하드웨어를 구동시킴 하드웨어 종류에 관계없이 항상 동일한 명령어를 이용하여 그래픽을 출력할 수 있음 -> 하드웨어에 독립적인 작업 가능 윈도우가 하드웨어를 제어할 수 있도록 응용 프로그램에 제공 하는 모든 기능 응용 프로그램과 디바이스 드라이버의 중간 역할 응용 프로그램에 대한 장치 독립적인 그래픽 동작 수행 (Application -> Windows -> Device Driver -> Graphic Card) GDI는 Wi..
[윈도우 프로그래밍 5장] 도큐먼트, 파일 입출력 1. 도큐먼트 도큐먼트의 주요 기능 도큐먼트 데이터에 접근하기 위한 인터페이스 제공 데이터를 저장하고 읽어오는 기능 저장 매체와 뷰 사이의 매개 역할 CDocument 클래스(여기 안에 많은 함수가 들어있음) 데이타를 관리하는 클래스(저장매체에 있는 데이타를 끌어와서 뷰 클래스에 보여주거나, 뷰에 있는 데이타를 저장 매체에 저장) CDocument 클래스는 주로 저장 매체(파일, 데이터베이스 등)에 있는 데이터를 가져와서 뷰 클래스에 보여주거나, 뷰에 있는 데이터를 저장 매체에 저장하는 등의 작업을 수행합니다. 클래스 내의 함수 종류 4가지(응용프로그램 마법사에 의해 생성됨) OnNewDocument() 함수: 새로운 도큐먼트를 만드는 기능 Serialize() 함수: 도큐먼트의 내용을 디스크로부터 읽어..
[윈도우 프로그래밍] 대화상자 대화상자는 사용자와 윈도우 간의 인터페이스 기능을 합니다. 단일문사=마우스, 키보드 메시지 / 다이얼로그 = 컨트롤 메시지 CDialogEx 클래스 대화상자는 CDialogEx 클래스로 정의합니다. CDiaglogEx 클래스는 CDialog 클래스로부터 파생된 파생클래스입니다. CDialogEx 클래스의 모든 기능 + 배경색과 배경그림 바꾸는 기능까지 추가되었습니다. 대화상자 기반의 프로그램 대화상자 기반의 프로그램은 애플리케이션 클래스와 다이얼로그 클래스(대화상자 클래스)로 구성됩니다. 대화상자 클래스는 대화상자의 기능을 구현하는 실제적인 클래스입니다. 애플리케이션 클래스는 프로젝트 전체를 관리하는 클래스입니다. MDI, SDI 프로그램과 클래스 구조가 다릅니다. 1. 대화상자 프로그램의 동작 대화상자..
[윈도우 프로그래밍] 윈도우 프로그래밍의 이해 왜 이해? 나중에 MFC를 사용해서 윈도우 프로그램 작성할 때 도움되므로! 윈도우 프로그래밍은 주로 윈도우 애플리케이션을 만드는 것을 의미 윈도우 프로그래밍의 개념 1. DOS 환경(c++) vs 윈도우 환경 DOS 환경(c++) -프로그래머가 구현한 순서대로 진행 윈도우 환경: 운영체제인 윈도우가 애플리케이션으로 메시지를 보냅니다 !!!! -사용자가 발생시키는 이벤트에 의한 메시지 처리 방식 (키보드 입력, 마우스 클릭 등의 메시지) -> 메시지 기반 & 이벤트 기반(사용자) 프로그래밍 =사용자가 왼쪽 마우스 버튼 클릭(이벤트) -> 윈도우 시스템(os-마우스 등 하드웨어와 연결)가 해당 애플리케이션에 WM_LBUTTONDOWN 메시지 보냄 -> 이 메시지 받은 애플리케이션(메시지 루프)이 특정 메시지..
[윈도우 프로그래밍] MFC 개요 및 아키텍처 MFC의 개요 -윈도우 애플리케션을 생성하기 위해 만들어진 C++ 클래스 라이브러리 -클래스는 모두 대문자 C로 시작 -여러 단어가 하나의 클래스 이름일 경우 각 단어별로 첫 글자를 대문자로 표기 -> CWndApp -멤버 변수는 m_로 시작, 멤버 함수는 대문자로 시작 -전역 함수는 Afx라는 접두어 붙음. -MFC의 이점 5가지 MFC 프로그램 구조(SDI, MDI) -SDI: 단일 문서 기반, 4개의 클래스 존재 -> CWinAPP(애플리케이션 전체), CFrameWnd(애플리케이션에서 메뉴, 상태표시줄, 도구바 등 외부 프레임), CView(애플리케이션의 클라이언트 또는 작업 영역), CDocment(애플리케이션 내부 데이터 읽고, 저장) -MDI: 다중 문서 기반, 5개의 클래스 존재 -> Wi..
[윈도우 프로그래밍] 메시지 처리 메시지 처리의 기본 개념 -메시지: 발생된 이벤트의 종류와 정보를 전달하는 일종의 상수 값(양수인 상수) 컴퓨터에서 처리해야되니깐 !! -> 마우스 클릭, 키보드 입력과 같은 이벤트에 대해 윈도우 시스템은 해당 애플리케이션에 이 "메시지"를 보내요! -윈도우 프로그래밍에서 가장 중요한 것은 메시지를 처리하는 것 !! 1. 메시지의 종류 -메시지를 처리하는 주체에 따라서 1) 윈도우 메시지 WM_ 매개변수를 가지고 있어 메시지를 어떻게 처리할 것인지를 결정하는 데 사용합니다. WM_COMMAN 제외 ! -초기화 메시지: 윈도우의 상태 바뀔 때 발생 -윈도우 관리 메시지: 응용 프로그램이 메뉴나 대화상자 구성할 때 발생 -입력 메시지: 마우스, 키보드로 입력할 때 발생 2) 컨트롤 통제 메시지 버튼, 콤보 ..