Microsoft PowerPoint - CPP_chap3
|
|
- 혜교 주
- 6 years ago
- Views:
Transcription
1 3 장. 마우스와키보드메시지 1
2 1. 능동적입력받기와수동적입력받기 2 학습목표 이벤트위주로직개념을파악한다 메시지개념을파악한다 능동적입력받기 절차적로직프로그램에서입력받기 언제무엇을입력받을지는프로그램의절차적로직에서결정 예 : 텍스트모드 C 프로그램에서문자열을입력받는경우 수동적입력받기 이벤트위주로직프로그램에서입력받기 윈도우환경에서마우스나키보드입력은 Windows 시스템이받아서프로그램에게메시지형태로전달한다 언제어떤순서로메시지가전달될지미리알수없다 프로그램은전달되어오는메시지를받아서처리해야한다
3 3 WM_KEYDOWN 키보드의키가눌러지는순간프로그램에게전달되는메시지 Caps Lock, Shift, Ctrl 키를포함키보드의거의모든키에대해서메시지가발생한다 WM_KEYUP 키보드의키가눌러진상태에서놓여지는순간프로그램에게전달되는메시지 Caps Lock, Shift, Ctrl 키를포함키보드의거의모든키에대해서메시지가발생한다 WM_CHAR 입력된문자에대해발생하는메시지 Caps Lock, Shift, Ctrl 과같은문자가아닌키에대해서는메시지가발생하지않는다
4 4 WM_LBUTTONDOWN 마우스왼쪽버튼이눌려지는순간발생하는메시지 WM_LBUTTONUP 마우스왼쪽버튼이놓여지는순간발생하는메시지 WM_LBUTTONDBLCLK 마우스왼쪽버튼이더블클릭하면발생하는메시지 WM_MOUSEMOVE 마우스포인터가이동할때발생하는메시지 WM_RBUTTONDOWN 마우스오른쪽버튼이눌려지는순간발생하는메시지
5 5 키보드마우스메시지처리 메시지를처리하기위한메시지핸들러를만들어야한다. Class Wizard에서메시지핸들러를재정의한다 키보드, 마우스메시지핸들러는뷰클래스 (CView 클래스의하위클래스 ) 에정의한다 뷰클래스의역할 윈도우의클라이언트영역에무엇을그리는일 키보드마우스메시지처리
6 2. 마우스메시지 6 학습목표 이벤트위주로직개념을파악한다 마우스메시지를처리한다 예제프로그램 : Mouse1 소스 : "03-1 Mouse1.zip" 주요작업 1) Application Wizard를이용해프로젝트골격생성 2) ClassWizard에서마우스메시지핸들러재정의 WM_LBUTTONDOWN, WM_RBUTTONDOWN 3) 메시지핸들러구현 CMouse1View::OnLButtonDown() CMouse1View::OnRButtonDown()
7 7 void CMouse1View::OnLButtonDown(UINT nflags, CPoint point) CClientDC dc(this); CString str; str.format("%d,%d", point.x, point.y); if (nflags & MK_LBUTTON) str += " left"; if (nflags & MK_RBUTTON) str += " right"; if (nflags & MK_CONTROL) str += " ctrl"; if (nflags & MK_SHIFT) str += " shift"; dc.textout(point.x, point.y, str); void CMouse1View::OnRButtonDown(UINT nflags, CPoint point) OnLButtonDown(nFlags, point);
8 8
9 9 void CMouse1View::OnLButtonDown(UINT nflags, CPoint point) Class Wizard로재정의한 WM_LBUTTONDOWN 메시지핸들러 Windows 시스템으로부터 WM_LBUTTONDOWN 메시지가전달되면 MFC 골격에의해서저절로이메시지핸들러가호출된다 nflags는눌려진버튼에대한정보 point는마우스포인터좌표 CClientDC dc(this); 화면에무엇을그리기위해서는디바이스컨텍스트객체가필요 WM_PAINT 메시지와관계없는곳에서는 CPaintDC 클래스를사용할수없고 CClientDC 클래스의객체를생성해야한다 즉 CView::OnPaint() 에서만 CPaintDC 의객체를생성할수있고그이외의곳에서는 CClientDC 를사용한다고볼수있다 this는뷰객체
10 10 if (nflags & MK_LBUTTON) str += " left"; if (nflags & MK_RBUTTON) str += " right"; if (nflags & MK_CONTROL) str += " ctrl"; if (nflags & MK_SHIFT) str += " shift"; nflags는눌려진버튼에대한정보 위와같은상수와 bitwise and 로어떤버튼이눌려졌는지알수있다 MK_LBUTTON 마우스왼쪽버튼 MK_RBUTTON 마우스오른쪽버튼 MK_CONTROL 컨트롤키 MK_SKIFT 쉬프트키 OnLButtonDown(nFlags, point); 메시지핸들러는메시지가전달될때 MFC 골격에의해서호출되는것이보통이지만, 메시지핸들러도결국은메소드이므로이와같이직접호출할수도있다
11 문제 : 원인분석 11 Mouse1 예제에서윈도우가다른윈도우아래로감춰졌다가다시노출되면그부분이지워진다. 왜지워지는지설명하라. 지워지지않도록수정하라.
12 3. 마우스드래그 1 12 학습목표 이벤트위주로직개념을파악한다 마우스메시지를처리한다 마우스드래그를처리한다
13 13 예제프로그램 : Drag 소스 : "03-2 Draw1.zip" 주요작업 1) Application Wizard를이용해프로젝트골격생성 2) ClassWizard에서마우스메시지핸들러재정의 WM_KEYDOWN, WM_KEYUP WM_MOUSEDOWN 3) CDragView에멤버변수추가 CRect m_ellipse; CPoint m_prev; 4) CDragView의생성자에서멤버변수초기화 5) 메시지핸들러구현 CDragView::OnLButtonDown() CDragView::OnLButtonUp() CDragView::OnMouseMove() 6) CDragView::OnDraw() 구현
14 14
15 15 CDragView에멤버변수추가 m_ellipse는원을그리기위한좌표를저장 m_prev는마우스의이전위치를저장 class CDragView : public CView... protected: CRect m_ellipse; CPoint m_prev;...
16 16 CDragView 의생성자에서멤버변수초기화 m_prev 와 m_ellipse 각각생성자를호출하여초기화 CDragView::CDragView() : m_prev(0,0), m_ellipse(0,0,50,50) m_ellipse 위치에원을그림 CDC::SelectStockObject() 는 1 장 8 절을참고 void CDragView::OnDraw(CDC* pdc) pdc->selectstockobject(gray_brush); pdc->ellipse(m_ellipse);
17 17 void CDragView::OnLButtonDown(UINT nflags, CPoint point) if (m_ellipse.ptinrect(point)) SetCapture(); SetCursor(LoadCursor(NULL, IDC_SIZEALL)); m_prev = point; BOOL CRect::PtInRect(CPoint point) 좌표 point가 CRect 내부이면 true 아니면 false를리턴 typedef int BOOL; if (m_ellipse.ptinrect(point)) if 마우스가 m_ellipse의내부에서눌러졌으면 true
18 18 CWnd::SetCapture() 마우스포인터의위치와상관없이이후 ReleaseCapture() 를호출할때까지모든마우스메시지를현재윈도우에전달하게함 보통은마우스포인터가위치한그윈도우에메시지를전달함 즉마우스가윈도우밖으로나가도계속마우스메시지를현재윈도우에전달하게함 SetCursor(LoadCursor(NULL, IDC_SIZEALL)); 마우스포인터모양을 IDC_SIZEALL 모양으로설정 predefined cursor IDC_ARROW IDC_CROSS IDC_HAND IDC_HELP IDC_IBEAM IDC_ICON IDC_NO IDC_SIZE IDC_SIZEALL IDC_SIZENESW IDC_SIZENS IDC_SIZENWSE IDC_SIZEWE IDC_UPARROW IDC_WAIT m_prev = point; 현재마우스포인터위치를저장
19 19 void CDragView::OnMouseMove(UINT nflags, CPoint point) if (GetCapture() == this) CSize offset = point - m_prev; m_ellipse += offset; m_prev = point; Invalidate(); CWnd* CWnd::GetCapture() SetCapture() 한윈도우에대한포인터를리턴 CSize offset = point - m_prev; 현재마우스위치에서이전위치를빼어거리를구함 CSize = CPoint - CPoint
20 20 m_ellipse += offset; 그거리만큼 m_ellipse를이동 CWnd::Invalidate(BOOL erase = TRUE); CWnd의전체영역을무효화하여결국 OnDraw() 메소드가호출되도록강제한다 erase가 true이면무효화된영역을 Windows 시스템이윈도우배경색으로먼저지우고 WM_PAINT 메시지를보낸다 위의코드에서는 this->invalidate() 를호출하였다. CDragView는 CView를상속받고, CView는 CWnd를상속받는다 CDragView::OnMouseMove() 가리턴된후 WM_PAINT 메시지가보내지고 CDragView::OnDraw() 가호출된다
21 21 void CDragView::OnLButtonUp(UINT nflags, CPoint point) if (GetCapture() == this) ReleaseCapture(); ReleaseCapture() 마우스메시지캡춰를취소함
22 문제 : 원인분석 22 Drag 프로그램에서원내부가아니고아래그림과같은위치에서마우스버튼을눌러도원이드래그된다. 왜그런지설명하라.
23 4. 키보드메시지 23 학습목표 이벤트위주로직개념을파악한다 키보드메시지를처리한다 예제프로그램 : Key1 소스 : "03-3 Key.zip" 주요작업 1) Application Wizard를이용해프로젝트골격생성 2) ClassWizard에서키보드메시지핸들러재정의 WM_KEYDOWN, WM_KEYUP, WM_CHAR 3) CKey1View에메소드추가 void Display(const char* msg); 4) 메시지핸들러구현 CKey1View::OnKeyDown() CKey1View::OnKeyUp() CKey1View::OnChar()
24 키하나를누르면차례대로 WM_KEYDOWN, WM_CHAR, WM_KEYDOWN 메시지가발생한다 24
25 25 void CKey1View::Display(const char* msg) CRect rect; CClientDC dc(this); dc.selectstockobject(system_fixed_font); ScrollWindow(0,-20); GetClientRect(&rect); dc.textout(0,rect.bottom-20, msg); ValidateRect(NULL); void CWnd::ScrollWindow(int dx, int dy, CRect* rect=null); rect 영역을 x 축으로 dx 만큼 y 축으로 dy 만큼스크롤한다 rect 가 NULL 이면전체클라이언트영역을스크롤한다 스크롤되어새로노출된영역은무효화된다 void CWnd::ValidateRect(LPCRECT* rect); rect 영역을유효화 ( 무효화취소 ) 한다 rect 가 NULL 이면전체클라이언트영역이유효화된다
26 26 void CKey1View::OnKeyDown(UINT nchar, UINT nrepcnt, UINT nflags) CString s; s.format("%-20s 0x%02x", "WM_KEYDOWN", nchar); Display(s); void CKey1View::OnKeyUp(UINT nchar, UINT nrepcnt, UINT nflags) CString s; s.format("%-20s 0x%02x", "WM_KEYUP", nchar); Display(s); void CKey1View::OnChar(UINT nchar, UINT nrepcnt, UINT nflags) CString s; s.format("%-20s %4c", "WM_CHAR", nchar); Display(s);
27 27 Virtual Key Code OnKeyDown() 과 OnKeyUp() 의첫번째파라미터는 virtual key code virtual key code 상수는 Visual Studio의 include 디렉토리아래 "winuser.h" 파일에정의되어있음 virtual key code는 ASCII 코드와다르다 OnChar() 의첫번째파라미터는 ASCII 코드
28 문제 28 CKey1View::Display() 에서 ValidateRect(NULL); 라인을지우고컴파일하여실행시키면클라이언트영역에제대로그려지지않는다. 왜그런지설명하라. 윈도우가다른윈도우아래로감춰졌다가다시노출되면그부분이지워진다. 지워지지않도록수정하라.
29 5. 마우스드래그 2 29 학습목표 이벤트위주로직개념을파악한다 마우스메시지를처리한다 마우스드래그를처리한다 무효화를통한화면갱신을파악한다 앞의마우스드래그 1 의 Drag 예제를개선한다 예제프로그램 : Draw 소스 : "03-4 Drag2.zip" 주요작업 1) CDrawView::OnLButtonDown() 개선 2) CDrawView::OnMouseMove() 개선 3) ClassWizard에서 WM_KEYDOWN 메시지핸들러재정의 4) CDrawView::OnKeyDown() 메시지핸들러구현
30 30 void CDragView::OnLButtonDown(UINT nflags, CPoint point) CRgn rgn; rgn.createellipticrgnindirect(m_ellipse); if (rgn.ptinregion(point)) SetCapture(); SetCursor(LoadCursor(NULL, IDC_SIZEALL)); m_prev = point; CRgn::CreateEllipticRgnIndirect(LPCRECT rect); 복잡한모양의영역을나타내기위한 CRgn 클래스의메소드 rect 내부에꽉차게그려지는원영역을생성 BOOL CRgn::PtInRegion(CPoint point); point 가영역의내부에포함되면 true 아니면 false 를리턴
31 void CDragView::OnMouseMove(UINT nflags, CPoint point) if (GetCapture() == this) InvalidateRect(m_ellipse); // (1) CSize offset = point - m_prev; m_ellipse += offset; m_prev = point; InvalidateRect(m_ellipse); // (2) 31
32 32 CWnd::InvalidateRect(LPCRECT* rect) typedef const CRect* LPCRECT; rect 영역을무효화함 첫번째 InvalidateRect(m_ellipse) 는이전 m_ellipse 위치를무효화하고 두번째 InvalidateRect(m_ellipse) 는이동된 m_ellipse 새위치를무효화한다 이전에그렸던원을지워야하기때문에이전 m_ellipse 위치를무효화 새위치에원을다시그려야하기때문에이동된 m_ellipse 새위치를무효화 무효화된영역이발생하면 Windows 시스템은 WM_PAINT 메시지를해당프로그램에게전달하여, 결국 OnDraw() 메소드가실행됨 OnDraw() 에서는무효화된영역구분없이전부그리지만, 실제로화면에그려지는것은무효화된영역내부만이고, 영역외부에그려지는것은무시됨 클라이언트영역전체를다시그리는것에비해서빠르고, 화면깜빡거림이적다
33 void CDragView::OnKeyDown(UINT nchar, UINT nrepcnt, UINT nflags) InvalidateRect(m_ellipse); // (1) switch (nchar) // (2) case VK_HOME: m_ellipse = CRect(0,0,50,50); break; case VK_UP: m_ellipse += CPoint(0,-10); break; case VK_DOWN: m_ellipse += CPoint(0,10); break; case VK_LEFT: m_ellipse += CPoint(-10,0); break; case VK_RIGHT: m_ellipse += CPoint(10,0); break; ; InvalidateRect(m_ellipse); // (3) 33
34 34 CDragView::OnKeyDown() 메소드 (1) 은바로전에 CDrawView::OnDraw() 에서그려진원의좌표영역 (m_ellipse) 을무효화한다 (2) 는마우스가이동된만큼 m_ellipse 좌표값을수정한다 (3) 은다음에그려질좌표영역 (m_ellipse) 을무효화한다 위와같이 OnKeyDown() 메소드에서는그릴영역을무효화만하고그리지는않고리턴하면 Windows 시스템은무효화된영역이발생했음을감지하고 WM_PAINT 메시지를보낸다 WM_PAINT 메시지를받으면 MFC 프레임웍에의해서 CDragView::OnDraw() 메소드가호출된다 CDragView::OnDraw() 에서그리는것은무효화된영역내부로만 clipping 된다. 즉위의 (1) 과 (3) 에서무효화된사각형내부에만그려지고나머지영역은무시된다
35 6. Graphs 예제 35 학습목표마우스로사각형을그리는예제를작성한다 예제프로그램 : Graphs 소스 : "03-5 Graphs.zip" 주요작업 1) Application Wizard를이용해프로젝트골격생성 2) CGraphsView에멤버변수추가 CPoint m_point1, m_point2; 3) ClassWizard에서마우스메시지핸들러재정의 WM_LBUTTONDOWN, WM_LBUTTONUP, WM_MOUSEMOVE 4) 마우스메시지핸들러구현 5) OnDraw 구현
36 1) Application Wizard 를이용해프로젝트골격생성메뉴 File New 36
37 37
38 38
39 2) CGraphsView 에멤버변수추가 CPoint m_point1, m_point2; 39
40 3) ClassWizard 에서마우스메시지핸들러재정의메뉴 View ClassWizard 40
41 41 멤버변수초기화 CGraphsView::CGraphsView() : m_point1(0,0), m_point2(0,0) // TODO: add construction code here OnDraw() 메소드 #include <math.h> CRect MakeRect(CPoint p1, CPoint p2) return CRect(min(p1.x,p2.x), min(p1.y,p2.y), max(p1.x,p2.x), max(p1.y,p2.y)); void CGraphsView::OnDraw(CDC* pdc) pdc->rectangle(makerect(m_point1,m_point2));
42 42 마우스메시지 void CGraphsView::OnLButtonDown(UINT nflags, CPoint point) m_point1 = point; m_point2 = point; SetCapture(); void CGraphsView::OnLButtonUp(UINT nflags, CPoint point) if (GetCapture() == this) ReleaseCapture(); void CGraphsView::OnMouseMove(UINT nflags, CPoint point) if (GetCapture() == this) InvalidateRect(MakeRect(m_point1,m_point2)); m_point2 = point; InvalidateRect(MakeRect(m_point1,m_point2));
43 7. Graphs 예제수정 43 학습목표마우스가그려진사각형위를지나가면사각형이반전되도록 Graphs 를수정한다 예제프로그램 : Graphs 소스 : "03-6 Graphs.zip"
44 44 CGraphsView 에멤버변수추가 class CGraphsView : public CView protected: // create from serialization only CGraphsView(); DECLARE_DYNCREATE(CGraphsView) // Attributes public: CGraphsDoc* GetDocument(); CPoint m_point1, m_point2; BOOL m_ptinrect;
45 45 OnDraw() 메소드 void CGraphsView::OnDraw(CDC* pdc) if (m_ptinrect) pdc->selectstockobject(gray_brush); pdc->rectangle(makerect(m_point1,m_point2)); 그려진사각형위에마우스가있을때는 m_ptinrect 가 true 이므로사각형을 GRAY_BRUSH 로그린다
46 46 OnMouseMove() 메소드 void CGraphsView::OnMouseMove(UINT nflags, CPoint point) if (GetCapture() == this) InvalidateRect(MakeRect(m_point1,m_point2)); m_point2 = point; InvalidateRect(MakeRect(m_point1,m_point2)); else CRect r = MakeRect(m_point1,m_point2); if (m_ptinrect!= r.ptinrect(point)) InvalidateRect(r); m_ptinrect = r.ptinrect(point); 마우스가사각형내부에있다가외부로나가거나, 외부에있다가내부로들어올때 if (m_ptinrect!= r.ptinrect(point)) 문이 true 된다
Microsoft PowerPoint - hci2-lecture5.ppt
Overview Mouse, Keyboard Message Mouse Message Keyboard Message HCI Programming 2 (321190) 2008년가을학기 10/15/2008 박경신 2 마우스기초 마우스처리 윈도우운영체제는마우스와관련된모든변화를형태로프로그램에게전달한다. 마우스기초 마우스전달 마우스는마우스커서밑에있는윈도우가받는다. 마우스
More information그래픽 프로그래밍
제 13 장그래픽프로그래밍 13.1 베지어곡선 실습 13-1 알고리즘을통한베지어곡선그리기 실습 13-2 컨트롤포인트이동및베지어곡선 해상도설정하기 그래픽프로그래밍 베지어곡선 베지어곡선알고리즘은곡선을생성하는대표적이고기본이되는알고리즘이다. MFC 에서의베지어곡선함수 BOOL PolyBezier(const POINT* lppoints, int ncount); lppoints
More informationChapter 1. MFC 시작하기
Chapter 1. MFC 시작하기 1. MFC(Microsoft Foundation Class) 개요 2. Visual Studio 2015 프로그램설치하기 3. 마우스클릭프로그램작성 4. 그림그리기프로그램작성 5. 마우스좌표값구하기프로그램작성 1 1.1. MFC 개요 2 1.1.1. C++ 언어 객체지향언어 (Object-Oriented Programming,
More informationVisual C++의 개요
2.1 MFC 의개요 2.2 MFC 프로그램의구조 2.3 Visual C++ 의시작실습 2-1 Application Wizard 익히기 2.4 SDI 템플릿 2.5 MDI 템플릿 2.6 MFC 애플리케이션아키텍처실습 2-2 간단한 MFC 프로젝트만들기 MFC 의개요 MFC 윈도우애플리케이션을생성하기위해만들어진 C++ 클래스라이브러리 애플리케이션프레임워크를제공
More information슬라이드 1
13장직렬화 김성영교수 금오공과대학교 컴퓨터공학부 도큐먼트 / 뷰구조 (1) 도큐먼트와뷰 디스크에저장된파일데이터를읽는경우 도큐먼트객체 뷰객체 파일 사용자 읽기 화면표시 2 도큐먼트 / 뷰구조 (2) 도큐먼트와뷰 사용자가데이터를입력하는경우 도큐먼트객체 뷰객체 파일 사용자 저장 입력 3 도큐먼트 / 뷰구조 (3) 도큐먼트와뷰 입력된데이터를디스크파일에저장하는경우
More information윈도우시스템프로그래밍
데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생
More information歯Lecture2.PDF
VISUAL C++/MFC Lecture 2? Update Visual C ++/MFC Graphic Library OpenGL? Frame OpenGL 3D Graphic library coding CLecture1View? OpenGL MFC coding Visual C++ Project Settings Link Tap Opengl32lib, Glu32lib,
More information윈도우시스템프로그래밍
객체지향프로그래밍응용 Chap 4. 대화상자와컨트롤 (#1) 2013.09.27. 오병우 컴퓨터공학과금오공과대학교 Control 들을가진윈도우 Dialog 개요 사용자의입력을받기위한 Object 의집합 종류 프로그램수행도중사용자의입력이필요할때다이얼로그박스출력 다이얼로그박스는사용자로부터입력받은데이터를메인루틴에넘기고소멸 Modal Dialog Parent window
More information윈도우시스템프로그래밍
데이타베이스 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2013.05.15. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생
More informationJAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각
JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.
More information<4D F736F F F696E74202D203031C0E520C0A9B5B5BFEC20C7C1B7CEB1D7B7A1B9D620B1E2C3CA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D>
01 : 윈도우프로그래밍기초 학습목표 윈도우운영체제와윈도우응용프로그램의특징을이해한다. SDK 응용프로그램작성과정, 기본구조, 동작원리를이해한다. MFC 응용프로그램작성과정, 기본구조, 동작원리를이해한다. 비주얼 C++ 개발환경사용법을익힌다. 윈도우운영체제특징 (1/3) 그래픽사용자인터페이스 1 윈도우운영체제특징 (2/3) 메시지구동구조 이벤트발생... 대기
More informationUI TASK & KEY EVENT
T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력
More informationMicrosoft PowerPoint - CPP_chap7_dialogbox(2)
7 장. 대화상자컨트롤 (2) 1 1. 버튼컨트롤 2 학습목표버튼컨트롤들을포함한다이얼로그박스를만들어본다 소스 : "07-1 Ctrl1.zip" 다이얼로그박스만들기 1 Ctrl1 라는이름의 Dialog based 프로젝트를생성한다 2 IDD_CTRL1_DIALOG 다이얼로그박스리소스수정 3 3 컨트롤아이디지정컨트롤 ID 컨트롤유형 캡션 IDC_STATIC Static
More information5장 MFC기반 다지기
5 장 MFC 기반다지기 김성영교수 금오공과대학교 컴퓨터공학부 들어가기 (1) pp.132 ~ 138 비주얼스튜디오에서 MFC 어플리케이션작성 참조 시스템메뉴 메뉴 최소 / 최대 / 닫기버튼 툴바 대화상자 클라이언트영역 (Client Area) 스크롤바 상태표시줄 2 들어가기 (2) 3 들어가기 (3) 4 들어가기 (4) 솔루션탐색기확인 WinMain() 함수가없다?
More informationgnu-lee-oop-kor-lec10-1-chap10
어서와 Java 는처음이지! 제 10 장이벤트처리 이벤트분류 액션이벤트 키이벤트 마우스이동이벤트 어댑터클래스 스윙컴포넌트에의하여지원되는이벤트는크게두가지의카테고리로나누어진다. 사용자가버튼을클릭하는경우 사용자가메뉴항목을선택하는경우 사용자가텍스트필드에서엔터키를누르는경우 두개의버튼을만들어서패널의배경색을변경하는프로그램을작성하여보자. 이벤트리스너는하나만생성한다. class
More informationUI TASK & KEY EVENT
2007. 2. 5 PLATFORM TEAM 정용학 차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2 Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3 Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize
More informationMicrosoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More informationProgramming hwp
4.3 그래픽프로그래밍 이절에서다룰예제응용프로그램은사각형이나타원을그리거나마우스이동위치를추적하여연결함으로써자유곡선을그리는등의그래픽작업을다루는프로그램이다. 어떤도형을그릴것인지는라디오버튼으로정한다. 타원을그릴때는매번타원모양, 테두리선의굵기와색상, 채우기패턴등을변경하는데, 이렇게변경된그래픽속성이다른도형을그릴때에도적용된다. 즉, 타원을그릴때는그래픽속성이매번변경되지만,
More information[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme
8 차시메뉴와대화상자 1 학습목표 안드로이드에서메뉴를작성하고사용하는방법을배운다. 안드로이드에서대화상자를만들고사용하는방법을배운다. 2 확인해볼까? 3 메뉴 1) 학습하기 [ 그림 8-1] XML 을이용한옵션메뉴설정방법 public boolean
More informationPowerPoint Presentation
객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean
More information10 장세균전프로그래밍 10.1 게임룰 (1) 사람과컴퓨터가싸우는 2인용보드게임이다. (2) 사람이먼저움직이고, 컴퓨터가움직인다. (3) 세균을가로및세로방향으로 2칸까지빈칸으로이동시킬수있다. (4) 1칸을이동할경우에는복제가된다. (5) 이동한후주변세균은내편으로바뀐다.
10 장세균전프로그래밍 10.1 게임룰 (1) 사람과컴퓨터가싸우는 2인용보드게임이다. (2) 사람이먼저움직이고, 컴퓨터가움직인다. (3) 세균을가로및세로방향으로 2칸까지빈칸으로이동시킬수있다. (4) 1칸을이동할경우에는복제가된다. (5) 이동한후주변세균은내편으로바뀐다. (6) 둘다이동할수없으면, 경기가종료된다. (7) 가장많은세균을가진사람이이긴다. 10.2 기초지식
More informationMicrosoft PowerPoint - 09-CE-5-윈도우 핸들
순천향대학교컴퓨터학부이상정 1 학습내용 윈도우핸들 윈도우찿기 윈도우확인및제거 윈도우숨기기 윈도우포커스 윈도우텍스트 윈도우핸들 순천향대학교컴퓨터학부이상정 3 핸들 (handle) 윈도우에서구체적인어떤대상을구분하기위해지정되는고유의번호 32비트의정수값 핸들은운영체제가발급하고사용자가이값을사용 실제값이무엇인지는몰라도상관없음 윈도우, DC, 브러쉬등등 순천향대학교컴퓨터학부이상정
More informationMicrosoft PowerPoint - hci2-lecture5-messagemap.ppt
Windows 와 C++ MFC Message Map HCI Programming 2 (321190) 2008년가을학기 10/14/2008 박경신 C++ 의다형성 (Polymorphsim) 기반클래스의어떤멤버함수를파생클래스에서재정의 (overriding) 하기위해서는기반클래스의그멤버함수가가상함수 (virtual function) 로정의되어야함 MFC 의 CWnd
More information<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>
게임엔진 제 4 강프레임리스너와 OIS 입력시스템 이대현교수 한국산업기술대학교게임공학과 학습내용 프레임리스너의개념 프레임리스너를이용한엔터티의이동 OIS 입력시스템을이용한키보드입력의처리 게임루프 Initialization Game Logic Drawing N Exit? Y Finish 실제게임루프 오우거엔진의메인렌더링루프 Root::startRendering()
More informationProgramming hwp
6 장 MDI 응용프로그램 MDI 응용프로그램의형태 응용프로그램마법사 (AppWizard) 가생성하는 MDI 응용프로그램의주실행창을나타내는객체는 CFrameWnd에서파생된클래스인스턴스이며, 기본외형은아래그림과같이메뉴와툴바를포함한다. 문서내용을보여주는뷰들은이창의클라이언트영역안에자식창으로만들어지는윈도우들을통해표시된다. 주실행창의클라이언트영역안에는여러개의자식창이만들어질수있으며,
More informationMFC 프로그래밍
윈도우프로그래밍 Visual C++ 2010 MFC Programming 1 장. 윈도우프로그래밍기초 윈도우운영체제의특징 그래픽사용자인터페이스 시스템메뉴타이틀바메뉴최소 / 최대 / 닫기버튼 툴바 대화상자 클라이언트영역 상태표시줄 스크롤바 윈도우운영체제의특징 메시지구동구조 윈도우운영체제의특징 멀티태스킹과멀티스레딩 멀티태스킹 (Multitasking) 운영체제가여러개의응용프로그램을동시에실행
More information쉽게 풀어쓴 C 프로그래밍
제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace
More informationMicrosoft PowerPoint - hci2-lecture10.ppt
Overview 도큐먼트 / 뷰구조 HCI Programming 2 (321190) 2008 년가을학기 11/25/2008 박경신 도큐먼트 / 뷰구조 도큐먼트템플렛 (Document Template) SDI (Single Document Interface) 응용프로그램의기본구조 MDI (Multiple Document Interface) 응용프로그램의기본구조
More information슬라이드 1
핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton
More informationPowerPoint 프레젠테이션
실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3
More information08장 윈도우에서의 그리기
8 장 윈도우에서의그리기 김성영교수 금오공과대학교 컴퓨터공학부 그래픽장치인터페이스객체 GDI 객체 객체의핸들타입 MFC 클래스속성 HPEN CPen 선속성 HBRUSH CBrush 채우기속성 HFONT CFont 글꼴속성 HBITMAP CBitmap 비트맵영상속성 HPALETTE CPalette 팔레트속성 HRGN CRgn 영역속성 GDI 클래스는 CGdiObject
More information(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345])
클래스의응용 클래스를자유자재로사용하자. 이장에서다룰내용 1 객체의치환 2 함수와클래스의상관관계 01_ 객체의치환 객체도변수와마찬가지로치환이가능하다. 기본예제 [7-1] 객체도일반변수와마찬가지로대입이가능하다. 기본예제 [7-2] 객체의치환시에는조심해야할점이있다. 복사생성자의필요성에대하여알아보자. [ 기본예제 7-1] 클래스의치환 01 #include
More informationgnu-lee-oop-kor-lec06-3-chap7
어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base
More informationMicrosoft PowerPoint _파일입출력.ppt
8 장. 파일입출력 파일입출력연속화 (serialization) 아카이브 (archive) 객체 Paint4.dsw Paint5.dsw 레지스트리 (registry) 오목게임 순천향대학교정보기술공학부이상정 1 파일입출력 순천향대학교정보기술공학부이상정 2 파일입출력소개 파일입출력 프로그램에서만든정보를하드디스크의파일로저장하는방법 MFC 에서사용하는파일입출력방법인연속화
More information윈도우 프로그래밍의 개념
제 10 장다양한뷰클래스 10.1 도큐먼트 10.2 파일입출력 10.3 다양한뷰클래스 실습 10-1 Formview를이용한문자를출력하고파일입출력 10.4 분할윈도우 실습 10-2 정적분할윈도우를이용한학생정보프로그램 10.5 다중뷰 실습 10-3 다중뷰만들기 CDocument 클래스 데이터를관리하는클래스 OnNewDocument() 함수 새로운도큐먼트를만드는기능
More informationPowerPoint Presentation
Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음
More informationMicrosoft PowerPoint - 04windows.ppt
Game Programming I Windows 프로그래밍 (1) March 27, 2006 목표 윈도우프로그래밍에서이용되는이벤트구동프로그래밍모델의이해 Direct3D 를이용하는윈도우어플리케이션의작성을위한최소한의코드이해 윈도우 (Win32) 어플리케이션 Direct3D API ( 어플리케이션프로그래밍인터페이스 ) 를이용하기위해필요 Win32 API 를이용해작성
More information제8장 자바 GUI 프로그래밍 II
제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로
More information1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a
6 장복사생성자 객체의생성과대입객체의값에의한전달복사생성자디폴트복사생성자복사생성자의재정의객체의값에의한반환임시객체 C++ 프로그래밍입문 1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y;
More informationMicrosoft PowerPoint - chap10-함수의활용.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과
More information쉽게 풀어쓴 C 프로그래밍
제 11 장상속 1. 상속의개념을이해한다. 2. 상속을이용하여자식클래스를작성할수있다. 3. 상속과접근지정자와의관계를이해한다. 4. 상속시생성자와소멸자가호출되는순서를이해한다. 이번장에서만들어볼프로그램 class Circle { int x, y; int radius;... class Rect { int x, y; int width, height;... 중복 상속의개요
More information(Microsoft PowerPoint - \301\24613\260\255 - oFusion \276\300 \261\270\274\272)
게임엔진 제 13 강 ofusion 씬구성 이대현교수 한국산업기술대학교게임공학과 학습목차 Ofusion 을이용한 export Export 된씬의재현 씬노드애니메이션을이용한수동카메라트래킹 ofusion OGRE3D 엔진용 3D MAX 익스포터 http://www.ofusiontechnologies.com ofusion 의특징 Realtime Viewport 3D
More informationDesign Issues
11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance
More information<4D F736F F F696E74202D203036C0E520BBE7BFEBC0DA20C0CEC5CDC6E4C0CCBDBA205BC8A3C8AF20B8F0B5E55D>
06: 사용자인터페이스 학습목표 메뉴명령을처리하고메뉴항목을적절하게갱신하는기법을익 힌다. 컨텍스트메뉴와시스템메뉴를다루는방법을익힌다. 툴바를생성하고사용하는방법을익힌다. 상태바를생성하고사용하는방법을익힌다. 메뉴용어 (1/6) 최상위메뉴 = 메뉴바 최상위메뉴 = 메뉴바 1 메뉴용어 (2/6) 메뉴항목 용어 의미 1 명령항목명령 (Command) 을수행하는메뉴항목.
More informationJavascript
1. 이벤트와이벤트핸들러의이해 이벤트 (Event) 는웹브라우저에서발생하는다양한사건을말합니다. 예를들면, 버튼을마우스로을했다거나브라우저를닫았다거나 Enter 키를눌렀다거나등등아주다양한사건들이있습니다. 그렇다면이벤트핸들러 (Event Handler) 는무엇일까요? 이다양한이벤트들을핸들링 ( 처리 ) 해주는것입니다. 예를들면, 어떤버튼을했을때메시지창이뜨게하는등을말합니다.
More informationMicrosoft PowerPoint - hci2-lecture1.ppt
Overview 윈도우프로그래밍기초 윈도우운영체제와윈도우응용프로그램의특징이해 SDK 응용프로그램작성과정, 기본구조, 동작원리이해 MFC 응용프로그램작성과정, 기본구조, 동작원리이해 HCI Programming 2 (321190) 2008년가을학기 9/16/2008 박경신 2 Windows.NET 구조적프로그램에서객체지향프로그램으로 SDK(Software Development
More informationvar answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");
자바스크립트 (JavaScript) - HTML 은사용자에게인터페이스 (interface) 를제공하는언어 - 자바스크립트는서버로데이터를전송하지않고서할수있는데이터처리를수행한다. - 자바스크립트는 HTML 나 JSP 에서작성할수있고 ( 내부스크립트 ), 별도의파일로도작성이가능하다 ( 외 부스크립트 ). - 내부스크립트 - 외부스크립트
More information슬라이드 1
한국산업기술대학교 제 4 강프레임리스너 (Frame Listener) 이대현교수 학습안내 학습목표 프레임리스너를이용하여게임루프를구현하는방법을이해한다. 오우거엔짂의키입력처리방식을이해한다. 학습내용 프레임리스너의개념프레임리스너를이용한게임캐릭터의이동캐릭터의이동속도조절 OIS 입력시스템을이용한키보드입력의처리 기본게임루프 Initialization Game Logic
More information<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.
More informationK&R2 Reference Manual 번역본
typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct
More information오버라이딩 (Overriding)
WindowEvent WindowEvent 윈도우가열리거나 (opened) 닫힐때 (closed) 활성화되거나 (activated) 비활성화될때 (deactivated) 최소화되거나 (iconified) 복귀될때 (deiconified) 윈도우닫힘버튼을누를때 (closing) WindowEvent 수신자 abstract class WindowListener
More information윈도우 프로그래밍의 개념
제 8 장컨트롤과리소스 II 8.1 탭컨트롤 8.2 슬라이더컨트롤실습 8-1 도형의종류와색상출력하기 8.3 스핀컨트롤 8.4 프로그레스바컨트롤 8.5 IP 주소컨트롤 8.6 네트워크주소컨트롤 8.7 날짜 / 시간컨트롤 8.8 애니메이트컨트롤실습 8.2 데이터전송시뮬레이터작성하기 컨트롤및리소스 리스트컨트롤 (List Control) 트리컨트롤 (Tree Control)
More informationMicrosoft PowerPoint - C++ 5 .pptx
C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성
More informationMicrosoft PowerPoint - chap13-입출력라이브러리.pptx
#include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,
More information슬라이드 1
프로세싱 광운대학교로봇학부박광현 프로세싱실행 2 C:\processing-3.2.1 폴더 창나타내기 실행 정지 3 폭 높이 600 400 도형그리기 배경칠하기 5 background(255, 255, 255); R G B background(255, 0, 0); background(255, 122, 0); 선그리기 6 background(255, 122, 0);
More informationAPI - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어
메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -
More information17장 클래스와 메소드
17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는
More informationMicrosoft PowerPoint _대화상자.ppt
7 장. 대화상자 모달대화상자 (modal dialog box) DDX (Dialog Data Exchange) 모델리스대화상자 (modeless dialog box) 공통대화상자의사용 Paint3.dsw 순천향대학교정보기술공학부이상정 1 모달대화상자 (modal dialog box) 순천향대학교정보기술공학부이상정 2 대화상자의종류 모달대화상자 (modal
More informationJUNIT 실습및발표
JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected
More informationDLL(Dynamic Linked Library)
제 11 장동적연결라이브러리 11.1 DLL 의링크 11.2 DLL 의종류 실습 11-1 Implicit 링킹을통한정규 DLL 달력만들기 실습 11-2 Explicit 링킹을통한정규 DLL 달력만들기 실습 11-3 확장 DLL 을통한주민등록번호조회 프로그램만들기 DLL(Dynamic Linked Library) DLL 이란? 동적연결라이브러리 프로그램내부에라이브러리가있는것이아니라따로독립적으로실행가능한파일
More informationMicrosoft Word - hci07-final-answer.doc
기말고사 담당교수 : 단국대학교멀티미디어공학전공박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호를기입하면성적공고시학번대신암호를사용할것임. 1. 다음문장의내용이맞으면 True, 틀리면 False를표시하시오.
More information<B0EDB1DEC7C1B7CEB1D7B7A1B9D6284D DBFE4BEE0C1A4B8AE28B9DAB1E2C8AB292E687770>
I N D E X 목원대학교컴퓨터공학부 - 수업내용요약 - 교과목 : 고급프로그래밍1 구분 : (1~3 중에서 ) PART 1 학기 : 2013년 1학기 ( ~5주차 ) 교수 : 박기홍 참고문헌 : Visual C++ 2000 MFC Programming ( 생능출판사, 2013) 윈도우프로그래밍-Visual C++ MFC Programming ( 한빛미디어,
More information<4D F736F F F696E74202D203039C0E520B4EBC8ADBBF3C0DA205BC8A3C8AF20B8F0B5E55D>
09: 대화상자 학습목표 대화상자편집기의사용법을익힌다. 모드형대화상자와비모드형대화상자의차이점을이해하고작성방법을익힌다. 대화상자기반응용프로그램의원리를이해하고작성방법을익힌다. 공통대화상자를다루는방법을배운다. 개요 (1/2) 대화상자 다양한컨트롤을포함하고있는일종의윈도우 사용자로부터입력을받거나정보를출력 1 개요 (2/2) 대화상자종류 모드형대화상자 대화상자를닫지않으면응용프로그램이더이상진행할수없다.
More information4S 1차년도 평가 발표자료
객체지향프로그래밍응용 Chap 2. 프로그램의뼈대 2012.09.17. 오병우 컴퓨터공학과금오공과대학교 윈도우프로그램각부분의명칭 타이틀바 메뉴 프레임윈도우오브젝트 메뉴오브젝트 도구모음 툴바오브젝트 스크롤바 클라이언트영역 뷰오브젝트 상태표시줄 상태바오브젝트 Department of Computer Engineering 2 Win32 Application API
More informationLab 3. 실습문제 (Single linked list)_해답.hwp
Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.
More informationPowerPoint Template
JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것
More information<4D F736F F F696E74202D20C1A C0E520B5B5C5A5B8D5C6AE20C6C4C0CF20C0D4C3E2B7C220B9D720B4D9BEE7C7D120BAE420C5ACB7A1BDBA2E BC8A3C8AF20B8F0B5E55D>
제 10 장다양한뷰클래스 10.1 도큐먼트 10.2 파일입출력 10.3 다양한뷰클래스 실습 10-1 Formview를이용한문자를출력하고파일입출력 10.4 분할윈도우 실습 10-2 정적분할윈도우를이용한학생정보프로그램 10.5 다중뷰 실습 10-3 다중뷰만들기 도큐먼트 CDocument 클래스 데이터를관리하는클래스 OnNewDocument() 함수 새로운도큐먼트를만드는기능
More informationPowerPoint Presentation
public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +
More informationMicrosoft PowerPoint - Chapter 6.ppt
6.Static 멤버와 const 멤버 클래스와 const 클래스와 static 연결리스트프로그램예 Jong Hyuk Park 클래스와 const Jong Hyuk Park C 의 const (1) const double PI=3.14; PI=3.1415; // 컴파일오류 const int val; val=20; // 컴파일오류 3 C 의 const (1)
More informationMicrosoft PowerPoint - 07-Data Manipulation.pptx
Digital 3D Anthropometry 7. Data Analysis Sungmin Kim SEOUL NATIONAL UNIVERSITY Body 기본정보표시 Introduction 스케일조절하기 단면형상추출 단면정보관리 3D 단면형상표시 2 기본정보표시및스케일조절 UI 및핸들러구성 void fastcall TMainForm::BeginNewProject1Click(TObject
More information슬라이드 1
UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)
More informationPowerPoint 프레젠테이션
@ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program
More informationuntitled
MFC MFC MFC AppWizard 來 MFC MFC 類 了 類 Document/View MFC Visual C++ AppWizard MFC 不 力 亮 來 不 Document View 不 列 AppWizard View 類 CEditView 列 列 說 行 不 了 Document/View MFC Application Framework 靈 OLE Document
More information[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi
2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,
More information윈도우시스템프로그래밍
객체지향프로그래밍응용 Chap 4. 대화상자와컨트롤 (#2) 2012.10.08. 오병우 컴퓨터공학과금오공과대학교 Control 들을가진윈도우 Dialog 개요 사용자의입력을받기위한 Object 의집합 종류 프로그램수행도중사용자의입력이필요할때다이얼로그박스출력 다이얼로그박스는사용자로부터입력받은데이터를메인루틴에넘기고소멸 Modal Dialog Parent window
More informationPowerPoint Presentation
Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section
More information(Microsoft Word - \301\337\260\243\260\355\273\347.docx)
내장형시스템공학 (NH466) 중간고사 학번 : 이름 : 문제 배점 점수 1 20 2 20 3 20 4 20 5 10 6 10 7 15 8 20 9 15 합계 150 1. (20 점 ) 다음용어에대해서설명하시오. (1) 정보은닉 (Information Hiding) (2) 캡슐화 (Encapsulation) (3) 오버로딩 (Overloading) (4) 생성자
More informationMicrosoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx
2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html
More informationMicrosoft Word - ntasFrameBuilderInstallGuide2.5.doc
NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,
More informationJAVA PROGRAMMING 실습 08.다형성
2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스
More information<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>
2006 년 2 학기윈도우게임프로그래밍 제 8 강프레임속도의조절 이대현 한국산업기술대학교 오늘의학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용한다. FPS(Frame Per Sec)
More informationMicrosoft PowerPoint - 2강
컴퓨터과학과 김희천교수 학습개요 Java 언어문법의기본사항, 자료형, 변수와상수선언및사용법, 각종연산자사용법, if/switch 등과같은제어문사용법등에대해설명한다. 또한 C++ 언어와선언 / 사용방법이다른 Java의배열선언및사용법에대해서설명한다. Java 언어의효과적인활용을위해서는기본문법을이해하는것이중요하다. 객체지향의기본개념에대해알아보고 Java에서어떻게객체지향적요소를적용하고있는지살펴본다.
More information소프트웨어공학 Tutorial #2: StarUML Eun Man Choi
소프트웨어공학 Tutorial #2: StarUML Eun Man Choi emchoi@dgu.ac.kr Contents l StarUML 개요 l StarUML 소개및특징 l 주요기능 l StarUML 화면소개 l StarUML 설치 l StarUML 다운 & 설치하기 l 연습 l 사용사례다이어그램그리기 l 클래스다이어그램그리기 l 순서다이어그램그리기 2
More informationMicrosoft PowerPoint - Chap12-OOP.ppt
객체지향프로그래밍 (Object Oriented Programming) 12 장강사 강대기 차례 (Agenda) 멤버에대한동적메모리할당 암시적 / 명시적복사생성자 암시적 / 명시적오버로딩대입연산자 생성자에 new 사용하기 static 클래스멤버 객체에위치지정 new 사용하기 객체를지시하는포인터 StringBad 클래스 멤버에포인터사용 str static 멤버
More informationMicrosoft PowerPoint - 04-UDP Programming.ppt
Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여
More informationC프로-3장c03逞풚
C h a p t e r 03 C++ 3 1 9 4 3 break continue 2 110 if if else if else switch 1 if if if 3 1 1 if 2 2 3 if if 1 2 111 01 #include 02 using namespace std; 03 void main( ) 04 { 05 int x; 06 07
More information슬라이드 1
2007 년 2 학기윈도우게임프로그래밍 제 7 강프레임속도의조절 이대현 핚국산업기술대학교 학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용핚다. FPS(Frame Per Sec)
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More informationPowerPoint Presentation
객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television
More informationC++ Programming
C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator
More information<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>
리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1
More informationMFC 프로그래밍
윈도우프로그래밍 Visual C++ 2010 MFC Programming 4 장. 화면출력 GDI 와 DC GDI(Graphics Device Interface) 윈도우운영체제에서그래픽출력을담당하는부분 장치독립성및멀티태스킹지원 운영체제의하위시스템중하나로 DLL 로존재 응용프로그램의요청을받아서실제출력장치에대한출력을담당 O/S 응용프로그램 GDI 장치출력장치드라이버
More informationBMP 파일 처리
BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)
More information제11장 프로세스와 쓰레드
제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드
More informationThisJava ..
자바언어에정확한타입을추가한 ThisJava 소개 나현익, 류석영 프로그래밍언어연구실 KAIST 2014 년 1 월 14 일 나현익, 류석영 자바언어에정확한타입을추가한 ThisJava 소개 1/29 APLAS 2013 나현익, 류석영 자바 언어에 정확한 타입을 추가한 ThisJava 소개 2/29 실제로부딪힌문제 자바스크립트프로그램분석을위한요약도메인 나현익,
More informationPowerPoint 프레젠테이션
배효철 th1g@nate.com 1 목차 표준입출력 파일입출력 2 표준입출력 표준입력은키보드로입력하는것, 주로 Scanner 클래스를사용. 표준출력은화면에출력하는메소드를사용하는데대표적으로 System.out.printf( ) 를사용 3 표준입출력 표준출력 : System.out.printlf() 4 표준입출력 Example 01 public static void
More information어댑터뷰
04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결
More informationq 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2
객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가
More informationVisual Basic 반복문
학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For
More informationLab 4. 실습문제 (Circular singly linked list)_해답.hwp
Lab 4. Circular singly-linked list 의구현 실험실습일시 : 2009. 4. 6. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 12. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Circular Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Circular
More information