공통 컨트롤의 종류와 특징을 개관한다. 각종 공통 컨트롤의 사용 방법을 익힌다..

Slides:



Advertisements
Similar presentations
을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
Advertisements

2. 미디어 쿼리 : 다양한 뷰포트의 지원 김은옥 1 학습목표 : 여기서는 미디어 쿼리 작성방법, 뷰포트 지정 방법 등 을 살펴본다.
Term project. Touch-screen 활용 그림판 –Touch-screen 을 입력장치로 하여 LCD 상에 그림을 그리는 프로그램 – 터치 입력을 절대 좌표로 받는 디바이스 /dev/touch 를 만들어 응용 프 로그램에서 수행하도록 함. –User interface.
MS 워드 2007 기초 사용법 MS 워드 2007 시작하기와 종료 MS 워드 2007 화면의 구성요소 MS 워드 2007 단축키 ( 기초 ) MS 워드 2007 표 그리기 MS 워드 2007 화일변환.
메뉴 용어 (1/6) 최상위 메뉴 = 메뉴 바 최상위 메뉴 = 메뉴 바.
목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
Lab 10 Guide: 프린터 출력 예제. 한 페이지의 그림 인쇄 (교재 24장, 쪽)
에스에스 밀크 품목추가 깨질 경우 처리 방법입니다.
코크파트너 설치 가이드 Window 7.
윤 홍 란 다이알로그(대화상자) 윤 홍 란
제 9 장 구조체와 공용체.
Lab 2 Guide: 교재 3장 그래픽 예제 ( 쪽) - 펜과 브러시로 그리기 - 튀는 공
Visual C++ Programming Tree Control/MultiThread
자료 구조: Chapter 3 (2)구조체, 포인터
Visual C++ Programming Tree Control/MultiThread
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
07. 메뉴와 대화상자 제목. 07. 메뉴와 대화상자 제목 메뉴를 작성하고 사용하는 방법을 배운다. 토스트의 다양한 출력 방법을 알아본다. 대화상자의 사용법을 익힌다.
마우스(Mouse) 다루기 컴퓨터응용 및 실습 I.
제4장 대화상자 4.1 CDialogEx 클래스 4.2 대화상자 기반의 프로그램 실습 4-1 MFC 기본 컨트롤 사용법 익히기
Visual C++ Programming Common Controls
Visual C++ Programming Common Controls
대화상자 편집기의 사용법을 익힌다. 모드형 대화상자와 비 모드형 대화상자의 차이점을 이해하고 작성 방법을 익힌다.
1. C++ 시작하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
Visual C++ Programming Controls
D / K / I / T / E / C / H / N / O / L / O / G / Y
임베디드 실습 # LED, 7’Segment 제어
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
MicroC/OS-II 3. Memory Management ITISN Technical Lab.
11장. 1차원 배열.
10장 컴퓨터 기반 데이터 획득 응용 프로그램 LabVIEW 사용법
13. 연산자 오버로딩.
인터넷응용프로그래밍 JavaScript(Intro).
10장 tkinter로 GUI 만들기.
홀인원2.0 설치 메뉴얼.
- CPC 초기화면의 2, 3번을 참조하여 인터넷 옵션을 변경한다. (상세화면은 다음페이지 참조)
영상처리 실습 인공지능연구실.
CHAP 5. 레이아웃.
DK-128 FND 실습 아이티즌 기술연구소
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
2 보안 1 도구 윈도우 XP > 온밀크 프로그램 설치 장애 (보안 설정) / 품목추가 깨질 때 장애증상
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
1차시: 낮과 밤이 생기는 원리 지구과학
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
7주차 실습 FPGA 보드 사용법.
CHAP 21. 전화, SMS, 주소록.
데이터 동적 할당 Collection class.
단축키 기능 1. 단축키 기능 설명 Alt + R 조회 S 저장 I 삽입 A 추가 D 삭제 P 출력 Q 닫기
Chapter 03 윈도 폼 컨트롤 1.
영상처리 실습 (OpenCV + MFC) Chonbuk National University A.I. Lab.
05. 그래픽 빨간색 사각형 그리기 그래픽 그리기 발 표 자 : 07 정 경 오.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
3. 모듈 (5장. 모듈).
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
2D Game Programming 1차 발표 배강산.
IPC 펌웨어 업그레이드 방법 안내 ** 반드시 IPC를 NVR POE 포트 연결 전에 작업 하시기 바랍니다. IPC를 NVR POE 포트에 연결 하실 경우 IP 대역폭을 마추셔야 하는 작업이 필요합니다. **
CHAP 5. 메뉴와 대화상자.
7 생성자 함수.
6 객체.
MFC 기초 윈도우 응용프로그램 개발 간략한 역사 Microsoft Foundation Classes
BoardGame 보드게임 따라가기.
Ch 4. 선택 위젯의 사용과 커스텀뷰 만들기 Assignment #1 04 – 1, 2) 08학번 정보과학과 유재윤
Presentation transcript:

공통 컨트롤의 종류와 특징을 개관한다. 각종 공통 컨트롤의 사용 방법을 익힌다.

공통 컨트롤 기초 (1/5) 공통 컨트롤 종류

공통 컨트롤 기초 (2/5) 공통 컨트롤 종류 (cont'd)

공통 컨트롤 기초 (3/5) 컨트롤 툴바

공통 컨트롤 기초 (4/5) 특징 표준 컨트롤은 USER.EXE에 구현되어 있지만 공통 컨트롤은 COMCTL32.DLL에 구현되어 있다. COMCTL32.DLL의 버전에 따라 사용할 수 있는 공통 컨트롤의 종류와 기능에 제약이 있다. 사용하기 전에 반드시 ::InitCommonControls() 또는 ::InitCommonControlsEx()를 호출해야 한다. MFC를 사용하는 경우 이 과정은 자동으로 이루어진다. 일반적으로 통지 메시지를 위해 표준 컨트롤은 WM_COMMAND 메시지를 사용하지만 공통 컨트롤은 WM_NOTIFY 메시지를 사용한다.

공통 컨트롤 기초 (5/5) MFC 클래스 계층도

이미지 리스트 (1/9) 이미지 리스트 사용 예 동일한 크기의 이미지 집합 각각의 이미지를 배열 항목처럼 취급하여 0부터 시작하는 인덱스로 참조 사용 예 트리 컨트롤과 리스트 컨트롤에 사용되는 비트맵

이미지 리스트 (2/9) 이미지 리스트 생성 방법 이미지 리스트 생성 함수 cx, cy: 이미지의 폭과 높이(픽셀 단위) nFlags: 이미지 리스트의 타입 지정 CImageList m_il; m_il.Create(...); BOOL CImageList::Create (int cx, int cy, UINT nFlags, int nInitial, int nGrow); BOOL CImageList::Create (UINT nBitmapID, int cx, int nGrow, COLORREF crMask);

이미지 리스트 (3/9) 이미지 리스트 생성 함수 (cont'd) nInitial: 초기에 포함할 이미지 개수 nGrow: 새로운 이미지를 추가하기 위해 이미지 리스트의 메모리를 재할당할 때 얼마만큼 여분의 메모리를 할당할 것인가를 나타냄 nBitmapID: 비트맵 리소스 ID crMask: 투명색으로 사용할 색상 원본 마스크

이미지 리스트 (4/9) 이미지 리스트 생성 예 IDB_BITMAP1 CImageList m_il1, m_il2; m_il1.Create(32, 32, ILC_COLOR4, 2, 1); m_il2.Create(IDB_BITMAP1, 48, 1, RGB(255, 255, 255));

이미지 리스트 (5/9) 이미지 추가 함수 hIcon: 아이콘 리소스를 가리키는 핸들값 pbmImage: 비트맵 리소스를 담고 있는 CBitmap 객체의 주소 crMask: 투명색으로 사용할 색상 int CImageList::Add (HICON hIcon); int CImageList::Add (CBitmap* pbmImage, COLORREF crMask);

이미지 리스트 (6/9) 이미지 추가 예 // 두 개의 아이콘을 이미지 리스트에 추가한다. m_il1.Add(AfxGetApp()->LoadIcon(IDI_ICON1)); m_il1.Add(AfxGetApp()->LoadIcon(IDI_ICON2)); // 비트맵을 이미지 리스트에 추가한다. CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP1); m_il2.Add(&bitmap, RGB(255, 255, 255));

이미지 리스트 (7/9) 화면 출력 함수 pDC: 출력할 대상을 나타내는 디바이스 컨텍스트 nImage: 출력할 이미지의 인덱스 pt: 출력 좌표 nStyle: 그리기 스타일(다음 페이지 표 참조) BOOL CImageList::Draw (CDC* pDC, int nImage, POINT pt, UINT nStyle);

이미지 리스트 (8/9) 그리기 스타일

이미지 리스트 (9/9) 화면 출력 예 void CExImageListView::OnDraw(CDC* pDC) { // 배경색을 CLR_NONE으로 설정한다. m_il.SetBkColor(CLR_NONE); m_il.Draw(pDC, 0, CPoint(100, 200), ILD_NORMAL); m_il.Draw(pDC, 0, CPoint(150, 200), ILD_BLEND25); m_il.Draw(pDC, 0, CPoint(200, 200), ILD_BLEND50); m_il.Draw(pDC, 0, CPoint(250, 200), ILD_MASK); }

탭 컨트롤 (1/3) 탭 컨트롤 동일한 화면 영역에 서로 다른 내용을 표시

탭 컨트롤 (2/3) 탭 컨트롤 스타일

탭 컨트롤 (3/3) 탭 컨트롤 통지 메시지 WM_NOTIFY 통지 메시지 발생 통지 메시지와 더불어 다음과 같은 통지 코드 전달 통지 코드 의미 TCN_SELCHANGING 탭 선택이 변경되기 직전이다. TCN_SELCHANGE 탭 선택이 변경되었다. TCN_KEYDOWN 키를 눌렀다. NM_CLICK 마우스 왼쪽 버튼을 클릭하였다. NM_RCLICK 마우스 오른쪽 버튼을 클릭하였다.

탭 컨트롤 클래스 (1/3) 탭에 사용할 이미지 리스트 설정하기 탭 추가하기 nItem: 탭의 인덱스(0, 1, ...) TCITEM: 하나의 탭에 대한 정보를 가진 구조체 lpszItem: 새로운 탭에 표시할 텍스트(레이블) nImage: 탭에 표시할 이미지(이미지 리스트 인덱스값) CImageList * CTabCtrl::SetImageList (CImageList * pImageList); LONG CTabCtrl::InsertItem (int nItem, TCITEM* pTabCtrlItem); LONG CTabCtrl::InsertItem (int nItem, LPCTSTR lpszItem); LONG CTabCtrl::InsertItem (int nItem, LPCTSTR lpszItem, int nImage);

탭 컨트롤 클래스 (2/3) 탭 추가 예 TCITEM tcItem; tcItem.mask = TCIF_TEXT; tcItem.pszText = "Tab #0"; m_tab.InsertItem(0, &tcItem); tcItem.pszText = "Tab #1"; m_tab.InsertItem(1, &tcItem); tcItem.pszText = "Tab #2"; m_tab.InsertItem(2, &tcItem); m_tab.InsertItem(0, "Tab #0"); m_tab.InsertItem(1, "Tab #1"); m_tab.InsertItem(2, "Tab #2");

탭 컨트롤 클래스 (3/3) 탭 선택 변경과 선택된 탭 알아내기 int CTabCtrl::SetCurSel (int nItem); int CTabCtrl::GetCurSel ();

스핀 버튼 컨트롤 (1/2) 스핀 버튼 컨트롤 = 업다운 컨트롤 화살표가 두 개 붙어 있어서 마우스 클릭이나 키보드로 값을 증감하는 용도로 사용 스핀 버튼 컨트롤 버디 컨트롤

스핀 버튼 컨트롤 (2/2) 스핀 버튼 컨트롤 스타일

스핀 버튼 컨트롤 클래스 (1/2) 범위 설정과 현재 범위 얻기 위치 설정과 현재 위치 얻기 버디 설정 void CSpinButtonCtrl::SetRange (short nLower, short nUpper); void CSpinButtonCtrl::GetRange (int &lower, int &upper); int CSpinButtonCtrl::SetPos (int nPos); int CSpinButtonCtrl::GetPos (); CWnd* CSpinButtonCtrl::SetBuddy (CWnd* pWndBuddy);

스핀 버튼 컨트롤 클래스 (2/2) 숫자의 진수 변경 스핀 버튼 컨트롤 통지 메시지 마우스로 조작하면 WM_VSCROLL 또는 WM_HSCROLL 메시지 발생 int CSpinButtonCtrl::SetBase (int nBase);

프로그레스 컨트롤 (1/2) 프로그레스 컨트롤 오랜 시간이 걸리는 작업의 진행 상황을 시각적으로 표시하는 용도로 사용

프로그레스 컨트롤 (2/2) 프로그레스 컨트롤 스타일

프로그레스 컨트롤 클래스 범위 설정와 현재 범위 얻기 위치 설정과 현재 위치 얻기 위치값 증감 void CProgressCtrl::SetRange (short nLower, short nUpper); void CProgressCtrl::GetRange (int& nLower, int& nUpper); int CProgressCtrl::SetPos (int nPos); int CProgressCtrl::GetPos (); int CProgressCtrl::OffsetPos (int nPos); int CProgressCtrl::SetStep (int nStep); int CProgressCtrl::StepIt ();