Programming hwp
|
|
- 한별 정
- 6 years ago
- Views:
Transcription
1 4.3 그래픽프로그래밍 이절에서다룰예제응용프로그램은사각형이나타원을그리거나마우스이동위치를추적하여연결함으로써자유곡선을그리는등의그래픽작업을다루는프로그램이다. 어떤도형을그릴것인지는라디오버튼으로정한다. 타원을그릴때는매번타원모양, 테두리선의굵기와색상, 채우기패턴등을변경하는데, 이렇게변경된그래픽속성이다른도형을그릴때에도적용된다. 즉, 타원을그릴때는그래픽속성이매번변경되지만, 다른도형을그릴때는마지막타원을그렸을때의속성이계속적용된다. 사각형이나타원의위치는마우스클릭에의해정해진다 그래픽관련 MFC 클래스 그래픽프로그래밍을하기위해서는두부류의 MFC 클래스들을이용하게되는데, 바로디바이스콘텍스트관련클래스들과그리기도구관련클래스들이다. 디바이스콘텍스트및관련클래스 디바이스콘텍스트 (device context) 란모니터화면, 프린터, 플로터, 통신용모뎀등의그래픽출력장치에관한정보, 그리기속성관련정보등을갖고있는윈도우자료구조체 ( 객체 ) 를말한다. MFC가제공하는디바이스콘텍스트를사용함으로써윈도우응용프로그램에서는실제출력장치에상관없이동일한코드를사용할수있다. 그리기속성이란선의모양, 굵기,
2 색상, 채우기색상이나패턴, 폰트등등의다양한요소가포함된다. 그리기속성을포함하는 DC의옵션들은기본값들이정해져있으며, 이들은변경될수있다. 디바이스콘텍스트를그리기기능함수 (CDC 클래스의멤버함수 ) 나타내는기본클래스는선 MoveTo, LineTo CDC이다. CDC 클래스는사각형 Rectangle, FillRect, FrameRect, Draw3dRect 또한선분그리기, 사각형타원 Ellipse 파이 Pie 그리기, 타원그리기등의호 Arc 다양한도형을그릴수있다각형 Polygon 는멤버함수들을갖고있베지어곡선 PolyDraw, PolyBezier, PolyBezierTo 영역의경계선 FrameRgn 으며, 이러한함수들은디바이스콘텍스트에저장된그리기속성정보를참고한다. 그래픽작업은디바이스콘텍스트객체를생성한후, 이에대해그림그리기관련함수를호출함으로써이루어진다. CDC는 200개정도의멤버함수를갖는방대한클래스인데, 그래픽출력영역에따라특화된 CClientDC, CWindowDC, CPaintDC, CMetaFileDC 등 4개의자식클래스들이정의되어있다. 이들중 CClientDC, CWindowDC, CPaintDC 등은그리기대상영역이창과연관되어있으며, 따라서모니터화면의경우에만적용될수있다. CMetaFileDC는그림을지금그리는대신그래픽명령을저장해두었다가나중에재생하기위한메타파일을나타낸다. 창이외의영역을대상으로하거나프린터등비-화면출력장치를사용할경우에는 CDC 객체가사용된다. 물론 CDC 객체는창을출력대상으로하는경우에도적용될수있다. CClientDC 클래스 : 지정된윈도우의클라이언트영역에출력한다. this가현재윈도우를가리키는포인터라고하면, 아래코드는현재윈도우의클라이언트영역안에사각형을그리게된다. CClientDC dc(this); dc.rectangle(10,20,80,90); // (10,20) 은좌측상단 (80,90) 은우측하단 CWindowDC 클래스 : 타이틀바, 메뉴바, 스크롤바등과같이클라이언트영역이아닌곳도출력영역에포함시키고자할때사용한다. CPaintDC 클래스 : 창의일부또는전체가가려졌다가다시나타나는등의이유로윈도우의클라이언트의내용이다시그려질필요가있을때, WM_PAINT라는메시지가전달된다. 이메시지를처리하는함수가 CWnd::OnPaint() 인데, 이함수에전달되는디바이스콘텍스트가바로 CPaintDC 타입의객체를가리키는포인터이다. CPaintDC 타입의객체가가리키는부분은클라이언트영역중가려졌다가다시나타나는부분으로국한된다. CMetaFileDC 클래스 : 원하는그림의생성을위해재생될수있는그래픽출력명령 sequence를담고있는메타파일을나타낸다
3 그리기도구관련클래스 DC 옵션들은여러개의카테고리로그룹화되어있으며, 이러한 DC 옵션카테고리를나타내는클래스들이있다. 이러한클래스들의인스턴스를 GDI(Graphics Device Interface) 객체들이라고하며, 이들을나타내기위한클래스에는다음과같은것들이있다. CPen CBrush CFont CPalette CBitmap CRgn 선이나영역경계선의색상, 두께, 패턴폐곡선영역내부를채울때사용되는픽셀의색, 패턴문자출력시글꼴모양, 크기등색상수가제한되는상황에서실제로출력될색상세트비트맵그림그림그릴영역을나타내는타원또는다각형설정 이러한클래스들은 DC 상에그림을그리는도구들을표현하고있으며, DC 옵션설정에사용된다. DC 옵션들을설정하기위해서는해당옵션을위한 GDI 객체를생성하고관련옵션값들을설정한후특정 DC에연결하는절차가필요하다. 아래의코드는 CPen 객체를이용하여선그리기옵션변경을해보이고있다. CPen pen; pen.createpen(ps_solid, 3, RGB(255, 0, 0)); CClientDC dc(this); CPen *poldpen = (CPen *) dc.selectobject(&pen); dc.rectangle(10, 10, 100, 100); dc.selectobject(poldpen); CPen::CreatePen() 함수의첫번째파라미터는 PS_SOLID 선모양을나타내는데, 이를위해오른쪽그림과 PS_DASH 같은상수들이정의되어있다. 두번째파라미터 PS_DOT 는선의굵기를나타내는데, 선의굵기가 2 이상 PS_DASHDOT 이면첫번째파라미터값에상관없이선모양은 PS_DASHDOTDOT PS_SOLID가된다. 세번째파라미터는선의색상을나타내는데, RGB(r, g, b) 마크로를사용하 PS_NULL 여각기 사이의 red, green, blue 색상 PS_INSIDEFRAME 값을조합하여표현한다. CDC::SelectObject() 함수는 GDI 객체에대한포인터를파라미터로취하며, GDI 객체가설정하는그리기옵션을 DC에반영한다. 이함수는변경전옵션을나타내는 GDI 객체에대한포인터를리턴하는데, 이를이용하여원래옵션으로복원시킬수있다
4 그리기함수사용예 CPaintDC dc(this); CBrush bluebrush; bluebrush.createsolidbrush(rgb(0, 0, 255)); CBrush redbrush; redbrush.createsolidbrush(rgb(255, 0, 0)); dc.moveto(0, 10); dc.lineto(30, 30); dc.rectangle(40, 10, 80, 30); dc.fillrect(crect(90, 10, 130, 30), &bluebrush); dc.framerect(crect(140, 10, 180, 30), &bluebrush); dc.draw3drect(190, 10, 40, 20, RGB(255, 0, 0), RGB(0, 255, 0)); dc.ellipse(240, 10, 280, 30); dc.pie(290, 10, 330, 30, 300, 20, 320, 25); dc.arc(290, 10, 330, 30, 320, 15, 300, 15); CPoint pts[7] = { CPoint(20, 80), CPoint(60, 160), CPoint(140, 200), CPoint(160, 160), CPoint(160, 120), CPoint(140, 100), CPoint(60, 80)}; dc.polygon(pts, 7); CPen redpen; redpen.createpen(ps_solid, 3, RGB(255, 0, 0)); dc.selectobject(&redpen); dc.polybezier(pts, 7); CRgn rgn1, rgn2; CPoint pts2[6] = { CPoint(320, 60), CPoint(320, 100), CPoint(350, 120), CPoint(380, 100), CPoint(380, 60), CPoint(350, 50)}; rgn1.createellipticrgn(200, 40, 300, 100); rgn2.createpolygonrgn(pts2, 6, ALTERNATE); dc.framergn(&rgn1, &bluebrush, 10, 2); dc.framergn(&rgn2, &bluebrush, 10, 2); dc.selectcliprgn(&rgn1, RGN_AND); dc.fillrect(crect(100, 50, 400, 80), &redbrush);
5 글꼴과텍스트출력 MFC에서는텍스트출력도그래픽작업으로취급된다. 즉, 관련 GDI 객체로 CFont를사용하여 CDC 객체에대해텍스트출력함수 TextOut() 이나 DrawText() 등을사용한다. LOGFONT 는논리적글꼴의표현을위한구조체이며, 다음과같이정의되어있다. typedef struct taglogfontw { LONG lfheight; // 높이 LONG lfwidth; // 너비 LONG lfescapement; // 방향 LONG lforientation; // 회전각도 LONG lfweight; // 굵기 BYTE lfitalic; // 기울임꼴 BYTE lfunderline; // 밑줄 BYTE lfstrikeout; // 취소선 BYTE lfcharset; // 문자세트 BYTE lfoutprecision; // 출력정확도 BYTE lfclipprecision; // 클리핑정확도 BYTE lfquality; // 출력의질 BYTE lfpitchandfamily; // 자간 TCHAR lffacename[lf_facesize]; // 글꼴이름 } LOGFONT; 글꼴의세부사항을설정하기위해사용되는 CFont::CreateFont() 함수의파라미터들은 LOGFONT 구조체의각필드에대응된다. BOOL CreateFont(int nheight, int nwidth, int nescapement, int norientation, int nweight, BYTE bitalic, BYTE bunderline, BYTE cstrikeout, BYTE ncharset, BYTE noutprecision, BYTE nclipprecision, BYTE nquality, BYTE npitchandfamily, LPCTSTR lpszfacename); 폰트의생성과설정을위한코드예는다음과같다. CFont newfont, *poldfont; newfont.createfont(100, 0, 0, 0, 400, FW_NORMAL, FALSE, FALSE, DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH FF_DONTCARE, _T( Times New Romans )); poldfont = (CFont *)pdc->selectobject(&newfont);
6 텍스트출력함수들의프로토타입은다음과같다. BOOL TextOut(int x, int y, const CString& str); int DrawText(const CString& str, LPRECT lprect, UINT nformat); 간단한텍스트출력코드예는다음과같다. dc.textout() 함수는 DC 상에서좌표 (40, 60) 에서시작하여스트링 "Hello" 를출력한다. dc.drawtext() 함수는현재윈도우의클라이언트영역의정중앙에한줄로스트링 "Hello" 를출력한다. dc.textout(40, 60, Hello ); CRect rect; GetClientRect(&rect); // 클라이언트영역의크기를얻어냄 dc.drawtext("hello", &rect, DT_SINGLELINE DT_CENTER DT_VCENTER); 텍스트색상및배경색상변경은다음과같은코드에의해이루어질수있다. dc.settextcolor(rgb(255, 0, 0)); dc.setbkcolor(rgb(0, 0, 255)); 텍스트배경모드변경은다음과같은코드에의해이루어질수있다. dc.setbkmode(transparent); dc.setbkmode(opaque); // 투명 // 불투명 : 배경색상적용 예제프로그램의작성 이절의예제프로그램을위한프로젝트생성단계는이전의예제들과같다. 시각적설계단계도다이얼로그박스안에하나의그룹을형성하는 3개의라디오버튼을만들고이들의캡션은각기 "Square", "Ellipse", "Free Drawing" 등으로정한다. 다이얼로그클래스멤버변수는다음과같다. m_nshape: 라디오버튼그룹에연계된변수 m_pointold: Free Drawing의경우마우스의이전위치를나타내는 CPoint 타입의 private 변수 m_bmousedown: 마우스왼쪽버튼이상태를나타내는 bool 타입의 private 변수
7 이프로그램에서처리기함수를요하는이벤트는마우스왼쪽버튼누르기, 마우스왼쪽버튼풀어주기, 마우스이동등이며, 이들은각기다이얼로그창에대한 WM_LBUTTONDOWN, WM_LBUTTONUP, WM_MOUSEMOVE 등의메시지에해당된다. 클래스마법사를부르고 [ 메시지 ] 탭을선택한다음상단의 < 클래스이름 > 아래의이름이다이얼로그클래스 CGraphicsDlg임을확인한다. 클래스마법사화면이나타내는것처럼 < 메시지 > 아래의리스트박스에서 WM_LBUTTONDOWN, WM_LBUTTONUP, WM_MOUSEMOVE 등의메시지들에대해처리기함수를추가한다. CGraphicsDlg::OnInitDialog() 안에다음문장을추가하여처음에는마우스왼쪽버튼이눌려져있지않음을나타낸다. m_bmousedown = FALSE;
8 CGraphicsDlg 클래스의 OnLButtonDown(), OnLButtonUp(), OnMouseMove() 함수들은아래와같이작성한다. 이들에앞서전역변수 pdc를다음과같이선언하는데, 이변수는 OnLButtonDown() 함수에서설정한 DC를 OnMouseMove() 함수에서도공유할수있도록하기위해선언된다. OnLButtonDown() 함수는두개의파라미터를취한다. 첫번째파라미터는마우스버튼이나키보드 (ctrl, shift) 상태를나타내며이예제에서는사용되지않고있다. 두번째파라미터는마우스의현재위치를나타내는좌표이다. 이함수에서는먼저현재다이얼로그창의클라이언트영역을출력대상으로하는 DC 객체 dc를 static으로생성하여이객체의생성을불필요하게반복하지않도록한다. 이객체에대한포인터를전역변수 pdc에저장해둔다. UpdateData() 함수는라디오버튼선택을 m_nshape 변수에반영한다. 그런다음 m_nshape의값에따라필요한처리를한다. m_nshape가 0일경우 CDC::Rectangle() 함수를사용하여마우스가가리키는위치를좌측상단으로하고한변의길이가 20인정사각형을그린다. m_nshape가 1일경우에는 CDC::Ellipse() 함수를사용하여타원을그린다. 타원의크기는난수를사용하여매번변경되는데, 타원외접사각형의한변의길이는 사이이다. 외곽선과채우기속성은각기 CPen 객체와 CBrush 객체를사용하여무작위로변경하여설정한다. 설정된속성들은변경될때까지이함수안에서사각형을그릴때와 OnMouseMove() 에서선분을그릴때적용된다. m_nshape가 2일경우에는마우스이동위치들을연결하게되는데, 이함수에서는시작위치가되는현재의좌표를 m_pointold에저장만하며, 그리기출력은하지않는다. 이함수의끝에서는 m_bmousedown의값을 TRUE로지정하여마우스왼쪽버튼이눌려져있음을나타낸다. OnLButtonUp() 함수는그리기동작의완료를위한작업을수행하는데, m_nshape의값을 -1 로하고 UpdateData(FALSE) 를수행함으로써라디오버튼선택을지우고, m_bmousedown의값을 FALSE로지정하여마우스왼쪽버튼이더이상눌려져있지않음을나타낸다. OnMouseMove() 함수는 Free Drawing의경우에만의미가있는데, 이전의마우스위치와현재마우스위치를연결하는선분을그린다. 선분을그리기위한조건은 m_nshape == 2(Free Drawing 선택 ) 와 m_bmousedown == TRUE( 마우스왼쪽버튼이눌려져있음 ) 두가지모두충족되어야한다. 선분을그리기위해사용하는함수는시작점으로이동하기위한 MoveTo() 와실제선분을그리는 LineTo() 이다. 선분을그린후에는현재의위치가 m_pointold에저장된다
9 CDC *pdc = 0; void CGraphicsDlg::OnLButtonDown(UINT nflags, CPoint point) { // TODO: Add your message handler code here and/or call default static CClientDC dc(this); pdc = &dc; UpdateData(); if (m_nshape == 0) { dc.rectangle(point.x, point.y, point.x + 20, point.y + 20); } else if (m_nshape == 1) { CPen pen; pen.createpen(ps_dot, 1 + rand()%5, RGB(rand()%256, rand()%256, rand()%256)); dc.selectobject(&pen); CBrush brush; int r = rand() % 7; int hatch_style =!(r - 1) * HS_BDIAGONAL +!(r - 2) * HS_CROSS +!(r - 3) * HS_DIAGCROSS +!(r - 4) * HS_FDIAGONAL +!(r - 5) * HS_HORIZONTAL +!(r - 6) * HS_VERTICAL; if (r == 0) brush.createsolidbrush(rgb(rand()%256, rand()%256, rand()%256)); else brush.createhatchbrush(hatch_style, RGB(rand()%256, rand()%256, rand()%256)); dc.selectobject (&brush); dc.ellipse(point.x, point.y, point.x rand()%80, point.y rand()%80); } else if (m_nshape == 2) { m_pointold = point; } m_bmousedown = TRUE; } CDialogEx::OnLButtonDown(nFlags, point);
10 void CGraphicsDlg::OnLButtonUp(UINT nflags, CPoint point) { // TODO: Add your message handler code here and/or call default m_nshape = -1; m_bmousedown = FALSE; UpdateData(FALSE); } CDialogEx::OnLButtonUp(nFlags, point); void CGraphicsDlg::OnMouseMove(UINT nflags, CPoint point) { // TODO: Add your message handler code here and/or call default if (m_nshape == 2 && m_bmousedown) { pdc->moveto(m_pointold); pdc->lineto(point); m_pointold = point; } } CDialogEx::OnMouseMove(nFlags, point); 연습문제 1. 창 (window) 안의클라이언트영역에굵은적색원을그리기위해필요한문장들을나열하라. 원의크기와테두리선의굵기는임의로정하고, 원을그릴창객체를가리키는포인터는 p_win 이라고하자. 2. (1) void CGraphicsDlg::OnMouseMove(UINT nflags, CPoint point) 등의함수에서파라미터 nflags에대해조사하라. (2) 이절의예제프로그램에서멤버변수 m_bmousedown을사용하는대신 nflags를이용하는형태로프로그램을변경하라
11 5 장 SDI 응용프로그램 5.1 문서 / 뷰구조와 SDI 응용프로그램 문서 / 뷰구조 SDI 응용프로그램유형또는 MDI 응용프로그램유형이선택될경우응용프로그램마법사 (AppWizard) 가생성하는프로그램구조는문서 / 뷰 (Document/View) 구조를중심으로이루어진다. 이러한응용프로그램들은문서의전체또는일부를메모리에읽어들인후그내용을어떤형태로든사용자에게보여준다. 이렇게문서의내용을화면을통해사용자에게제시하는것을뷰라고한다. 응용프로그램들중에는하나의문서에대해한가지뷰만제공하는경우도있고여러가지뷰를제공하는경우도있다. 문서를취급하는응용프로그램들중에는한번에한개의문서만을다루는경우도있고동시에여러개의문서를열어둔상태에서작업을수행하는경우도있다. 여러개의문서를동시에다루는경우문서유형은한가지인경우도있고서로다른여러유형의문서들을취급하는경우도있다. 메모장의경우한번에한개의문서만취급하며다루는문서유형도텍스트파일로한정된경우이다. 또뷰의형태도한가지로정해져있다. 웹브라우저의경우일반뷰에서는 HTML 문서를해석한다음출력형식을조정하여사용자가보기좋게보여준다. 또대부분의웹브라우저들은 HTML 문서의소스를텍스트파일로보여주는뷰도제공한다. 또 MS Excel의경우테이블형태로작성된문서에대해히스토그램이나파이차트등여러가지뷰를제공하기도한다. MS 워드의경우입력파일이나문서저장형식은여러종류이다. 그러나 MS 워드프로그램에서작업중인문서형식은 MS 워드문서라는한가지유형이다. 반면에 Visual C++ 의경우, 프로그램소스를나타내는텍스트파일, 아이콘들을나타내기위한이미지파일, 클래스마법사를위한.clw 파일등다양한유형의파일들을동시에열어두고사용한다. 응용프로그램에서문서가나타내는측면은주로파일에저장하거나파일로부터읽어들이는등의외부저장매체와연관된측면인데비해, 뷰의경우는문서의내용을사용자에보여주는측면을담당하고있다. 이러한기능을분리하고있는가장중요한이유는하나의문서에대응되는뷰가둘이상인경우도있기때문이다. 이와같이문서와뷰로이루어지는프로그램구조를지원하기위한클래스로 MFC는 CDocument와 CView를제공하고있다. CDocument 클래스는문서를메모리상에서나타내기위한자료구조의표현과문서의저장및읽어들이기등을주로담당한다. ( 도큐먼트클래스안의자료구조가문서에대응되는파일의데이터전부를메모리안에갖고있을필요는없으며, 특히대용량파일의경우이는불가능하기도하다. 현재뷰가필요로하는문서부분만메모리안에갖고있을수도있고, 또는파일에접근하기위해필요한정보만갖고있을수도있다.) 반면 CView 클래스는문서의내용을화면상에서사용자에게보여주는일과문서에대한
12 사용자의편집행위를문서에반영하는일등을담당한다. 즉, 문서와사용자사이의인터페이스를담당하는것이뷰라고할수있으며, 이러한인터페이스는양방향으로이루어진다. SDI/MDI 응용프로그램유형을선택하면 AppWizard는 CDocument에서파생된클래스와 CView에서파생된클래스를만들어주며, 이러한파생클래스들에필요한멤버들을추가하거나편집하여응용프로그램을만들어나간다. 오른쪽그림은앞에서설명된문서클래스와뷰클래스의관계와이들클래스의기능을요약해보이고있다. 문서클래스는디스크에서읽어들이거나디스크에저장하는기능이필요할때는대체로 Serialize() 함수를사용하도록되어있다. 뷰클래스에서문서클래스의데이터에접근할경우에는잘정의된문서클래스의멤버함수를통해서접근하는것이바람직한방법이다. 뷰클래스는문서클래스의데이터를받아와서화면에보여주고사용자이벤트및시스템이벤트등을처리하기위한코드를포함한다. SDI 응용프로그램의형태 AppWizard가생성하는 SDI 응용프로그램의주실행창을나타내는객체는 CFrameWnd에서파생된클래스인스턴스이며, 기본외형은오른쪽그림과같이메뉴와툴바를포함한다. 문서내용을보여주는데사용되는부분은이창의클라이언트영역이며, 이는 CView에서파생된클래스의인스턴스이다. SDI 응용프로그램의경우에는뷰와문서가 1:1 대응관계에있으며, 문서는대체로디스크에저장되는파일에대응된다
Microsoft PowerPoint - 11주차.pptx
11 주차 비트맵버튼 & 폰트 그래픽객체의사용 This week, we will study Button 에사용자 graphic image를넣는방법 Edit box의색상변경방법 폰트의종류변경, 폰트크기 / 속성변경방법 Graphic object 비트맵버튼의생성 버튼이미지를준비 사용할버튼의크기에적합한이미지를준비. 일반적으로.BMP 이미지파일을사용. Ex) Resource
More informationMFC 프로그래밍
윈도우프로그래밍 Visual C++ 2010 MFC Programming 4 장. 화면출력 GDI 와 DC GDI(Graphics Device Interface) 윈도우운영체제에서그래픽출력을담당하는부분 장치독립성및멀티태스킹지원 운영체제의하위시스템중하나로 DLL 로존재 응용프로그램의요청을받아서실제출력장치에대한출력을담당 O/S 응용프로그램 GDI 장치출력장치드라이버
More information그래픽 프로그래밍
제 13 장그래픽프로그래밍 13.1 베지어곡선 실습 13-1 알고리즘을통한베지어곡선그리기 실습 13-2 컨트롤포인트이동및베지어곡선 해상도설정하기 그래픽프로그래밍 베지어곡선 베지어곡선알고리즘은곡선을생성하는대표적이고기본이되는알고리즘이다. MFC 에서의베지어곡선함수 BOOL PolyBezier(const POINT* lppoints, int ncount); lppoints
More informationMicrosoft PowerPoint - CPP_chap3
3 장. 마우스와키보드메시지 1 1. 능동적입력받기와수동적입력받기 2 학습목표 이벤트위주로직개념을파악한다 메시지개념을파악한다 능동적입력받기 절차적로직프로그램에서입력받기 언제무엇을입력받을지는프로그램의절차적로직에서결정 예 : 텍스트모드 C 프로그램에서문자열을입력받는경우 수동적입력받기 이벤트위주로직프로그램에서입력받기 윈도우환경에서마우스나키보드입력은 Windows
More informationGDI 와 DC GDI (Graphics Device Iterface) 응용프로그램이하드웨어를제어할수있도록윈도우 OS 가제공하는모든기능 윈도우가출력장치에대한정보를스스로판단하고분석하여, 실제로사용할드라이버를불러옴 이를이용할경우, 하드웨어독립적인프로그래밍을할수있음 Widw
Chapter 5. 그래픽처리 Widws Prgrammig, 2009 Fall GDI 와 DC GDI (Graphics Device Iterface) 응용프로그램이하드웨어를제어할수있도록윈도우 OS 가제공하는모든기능 윈도우가출력장치에대한정보를스스로판단하고분석하여, 실제로사용할드라이버를불러옴 이를이용할경우, 하드웨어독립적인프로그래밍을할수있음 Widws Device
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 informationGDI의 개념
제 6 장그래픽객체의사용 6.1 GDI와 DC의개념 6.2 GDI 객체실습 6-1 직선과도형및비트맵그리기 6.3 GDI+ 의개념실습 6-2 사각형뷰포트에원그리기 GDI 의개념 Graphic Device Interface 윈도우가하드웨어를제어할수있도록응용프로그램에제공하는모든기능 응용프로그램과디바이스드라이버의중간역할 응용프로그램에대한장치독립적인그래픽동작수행 Device
More informationMicrosoft PowerPoint - hci2-lecture4.ppt
Overview 화면출력 HCI Programming 2 (321190) 2007년가을학기 10/4/2007 박경신 윈도우의화면출력원리이해 GDI (Graphic Device Interface) DC (Device Context) CDC 클래스를이용한화면출력기법 다양한 DC 클래스 GDI 그래픽함수 각종 GDI 객체를생성하고사용하는방법 GDI Object (CPen,
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 information12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont
12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다. 12.1 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont( in LPDIRECT3DDEVICE9 pdevice, in INT Height, in UINT
More information슬라이드 1
13장직렬화 김성영교수 금오공과대학교 컴퓨터공학부 도큐먼트 / 뷰구조 (1) 도큐먼트와뷰 디스크에저장된파일데이터를읽는경우 도큐먼트객체 뷰객체 파일 사용자 읽기 화면표시 2 도큐먼트 / 뷰구조 (2) 도큐먼트와뷰 사용자가데이터를입력하는경우 도큐먼트객체 뷰객체 파일 사용자 저장 입력 3 도큐먼트 / 뷰구조 (3) 도큐먼트와뷰 입력된데이터를디스크파일에저장하는경우
More information윈도우 프로그래밍의 개념
제 10 장다양한뷰클래스 10.1 도큐먼트 10.2 파일입출력 10.3 다양한뷰클래스 실습 10-1 Formview를이용한문자를출력하고파일입출력 10.4 분할윈도우 실습 10-2 정적분할윈도우를이용한학생정보프로그램 10.5 다중뷰 실습 10-3 다중뷰만들기 CDocument 클래스 데이터를관리하는클래스 OnNewDocument() 함수 새로운도큐먼트를만드는기능
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
6 장 MDI 응용프로그램 MDI 응용프로그램의형태 응용프로그램마법사 (AppWizard) 가생성하는 MDI 응용프로그램의주실행창을나타내는객체는 CFrameWnd에서파생된클래스인스턴스이며, 기본외형은아래그림과같이메뉴와툴바를포함한다. 문서내용을보여주는뷰들은이창의클라이언트영역안에자식창으로만들어지는윈도우들을통해표시된다. 주실행창의클라이언트영역안에는여러개의자식창이만들어질수있으며,
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 information08장 윈도우에서의 그리기
8 장 윈도우에서의그리기 김성영교수 금오공과대학교 컴퓨터공학부 그래픽장치인터페이스객체 GDI 객체 객체의핸들타입 MFC 클래스속성 HPEN CPen 선속성 HBRUSH CBrush 채우기속성 HFONT CFont 글꼴속성 HBITMAP CBitmap 비트맵영상속성 HPALETTE CPalette 팔레트속성 HRGN CRgn 영역속성 GDI 클래스는 CGdiObject
More informationProgramming hwp
3.2 MFC 프로그램의작성, 컴파일, 실행 먼저간단한 MFC 예제프로그램을 Visual C++ 에서작성, 컴파일, 실행등의작업을수행하는방법을보인다음예제프로그램을설명할것이다. 예제프로그램소스코드 //hello.cpp #include // Declare the application class class CHelloApp : public CWinApp
More informationProgramming hwp
4 장대화상자기반응용프로그램 3장에서는윈도우응용프로그램작성을위한 MFC 프로그래밍에텍스트편집기만을사용하였으나, 이장에서부터는응용프로그램마법사 (AppWizard), 리소스편집기, 클래스마법사 (Class Wizard) 등의도구를활용한다. 이러한도구들의이용으로전체프로그램소스에서프로그래머가직접코딩하는분량을크게줄일수있어빠른시간안에응용프로그램의개발이가능해진다. 또한
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 information<B9CCB5F0BEEE20C1A4BAB8C3B3B8AE2E687770>
제목 : 미디어정보처리프로그래밍실습모음 일시 : 2002. 6. 15 작성자 : 성용철학번 : 한남대학교정보통신멀티미디어공학부 ( 전자정보통신전공 ) 미디어정보처리프로그래밍실습숙제설명 1.256 X 256 grayscale 의디스플레이프로그램 Resource View 의 menu item 에서 Display 밑에 Raw gray 라마든다음에그림과같이 ID 와
More informationProgramming hwp
5 장 SDI 응용프로그램 5.1 문서 / 뷰구조와 SDI 응용프로그램 문서 / 뷰구조 SDI 응용프로그램유형또는 MDI 응용프로그램유형이선택될경우응용프로그램마법사 (AppWizard) 가생성하는프로그램구조는문서 / 뷰 (Document/View) 구조를중심으로이루어진다. 이러한응용프로그램들은문서의전체또는일부를메모리에읽어들인후그내용을어떤형태로든사용자에게보여준다.
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 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 informationq 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2
객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가
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 informationMicrosoft PowerPoint - 09-CE-7-선과 도형
순천향대학교컴퓨터학부이상정 1 학습내용 디바이스컨텍스트 WM_PAINT 선, 도형그리기 GDI 객체 펜, 브러쉬 순천향대학교컴퓨터학부이상정 2 디바이스컨텍스트 순천향대학교컴퓨터학부이상정 3 디바이스컨텍스트 (1) 윈도우즈에서화면출력 ( 텍스트출력과차이점 ) 화면을사용할수있는권한이제약 자신이차지하는영역에만그림을그릴수있다. 좌표를계산하는방법이다르다 자기의윈도우즈의좌표를기준으로출력
More informationMicrosoft PowerPoint - 04windows.ppt
Game Programming I Windows 프로그래밍 (1) March 27, 2006 목표 윈도우프로그래밍에서이용되는이벤트구동프로그래밍모델의이해 Direct3D 를이용하는윈도우어플리케이션의작성을위한최소한의코드이해 윈도우 (Win32) 어플리케이션 Direct3D API ( 어플리케이션프로그래밍인터페이스 ) 를이용하기위해필요 Win32 API 를이용해작성
More information설계란 무엇인가?
금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현
More informationProgramming hwp
3 장 MFC 프로그래밍 윈도우응용프로그램개발을용이하게할수있도록 Visual C++ 에서는 MFC 클래스라이브러리와응용프로그램마법사 (AppWizard), 클래스마법사 (ClassWizard), 리소스편집기 (Resource Editor) 등의다양한도구를제공하고있다. 이장에서는응용프로그램마법사등의도구들은사용하지않고 MFC만을사용하여윈도우응용프로그램을작성하는방법을설명한다.
More information쉽게 풀어쓴 C 프로그래밍
제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace
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 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 information<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.
More information윈도우즈 프로그래밍
윈도우프로그래밍및실습 003. 출력 DB & MINING LAB. Korea University 2 nd updated 2012. 08. 18 Last updated 2015. 08. 26 이종욱 eastwest9@korea.ac.kr 1 Purpose of this chapter How to show some information on your screen
More informationPowerPoint 프레젠테이션
실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3
More informationJAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각
JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.
More informationPowerPoint Template
JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것
More information5장 MFC기반 다지기
5 장 MFC 기반다지기 김성영교수 금오공과대학교 컴퓨터공학부 들어가기 (1) pp.132 ~ 138 비주얼스튜디오에서 MFC 어플리케이션작성 참조 시스템메뉴 메뉴 최소 / 최대 / 닫기버튼 툴바 대화상자 클라이언트영역 (Client Area) 스크롤바 상태표시줄 2 들어가기 (2) 3 들어가기 (3) 4 들어가기 (4) 솔루션탐색기확인 WinMain() 함수가없다?
More information슬라이드 1
정적메모리할당 (Static memory allocation) 일반적으로프로그램의실행에필요한메모리 ( 변수, 배열, 객체등 ) 는컴파일과정에서결정되고, 실행파일이메모리에로드될때할당되며, 종료후에반환됨 동적메모리할당 (Dynamic memory allocation) 프로그램의실행중에필요한메모리를할당받아사용하고, 사용이끝나면반환함 - 메모리를프로그램이직접관리해야함
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 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 informationAPI - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어
메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -
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
프로세싱 광운대학교로봇학부박광현 프로세싱실행 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 information<4D F736F F F696E74202D203039C0E520B4EBC8ADBBF3C0DA205BC8A3C8AF20B8F0B5E55D>
09: 대화상자 학습목표 대화상자편집기의사용법을익힌다. 모드형대화상자와비모드형대화상자의차이점을이해하고작성방법을익힌다. 대화상자기반응용프로그램의원리를이해하고작성방법을익힌다. 공통대화상자를다루는방법을배운다. 개요 (1/2) 대화상자 다양한컨트롤을포함하고있는일종의윈도우 사용자로부터입력을받거나정보를출력 1 개요 (2/2) 대화상자종류 모드형대화상자 대화상자를닫지않으면응용프로그램이더이상진행할수없다.
More information<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>
연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.
More information<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>
게임엔진 제 4 강프레임리스너와 OIS 입력시스템 이대현교수 한국산업기술대학교게임공학과 학습내용 프레임리스너의개념 프레임리스너를이용한엔터티의이동 OIS 입력시스템을이용한키보드입력의처리 게임루프 Initialization Game Logic Drawing N Exit? Y Finish 실제게임루프 오우거엔진의메인렌더링루프 Root::startRendering()
More informationMicrosoft PowerPoint - 09-CE-5-윈도우 핸들
순천향대학교컴퓨터학부이상정 1 학습내용 윈도우핸들 윈도우찿기 윈도우확인및제거 윈도우숨기기 윈도우포커스 윈도우텍스트 윈도우핸들 순천향대학교컴퓨터학부이상정 3 핸들 (handle) 윈도우에서구체적인어떤대상을구분하기위해지정되는고유의번호 32비트의정수값 핸들은운영체제가발급하고사용자가이값을사용 실제값이무엇인지는몰라도상관없음 윈도우, DC, 브러쉬등등 순천향대학교컴퓨터학부이상정
More information쉽게 풀어쓴 C 프로그래밍
제 11 장상속 1. 상속의개념을이해한다. 2. 상속을이용하여자식클래스를작성할수있다. 3. 상속과접근지정자와의관계를이해한다. 4. 상속시생성자와소멸자가호출되는순서를이해한다. 이번장에서만들어볼프로그램 class Circle { int x, y; int radius;... class Rect { int x, y; int width, height;... 중복 상속의개요
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윈도우 프로그래밍의 개념
제 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 informationA Hierarchical Approach to Interactive Motion Editing for Human-like Figures
단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct
More information윈도우시스템프로그래밍
객체지향프로그래밍응용 Chap 4. 대화상자와컨트롤 (#1) 2013.09.27. 오병우 컴퓨터공학과금오공과대학교 Control 들을가진윈도우 Dialog 개요 사용자의입력을받기위한 Object 의집합 종류 프로그램수행도중사용자의입력이필요할때다이얼로그박스출력 다이얼로그박스는사용자로부터입력받은데이터를메인루틴에넘기고소멸 Modal Dialog Parent window
More information4S 1차년도 평가 발표자료
객체지향프로그래밍응용 Chap 2. 프로그램의뼈대 2012.09.17. 오병우 컴퓨터공학과금오공과대학교 윈도우프로그램각부분의명칭 타이틀바 메뉴 프레임윈도우오브젝트 메뉴오브젝트 도구모음 툴바오브젝트 스크롤바 클라이언트영역 뷰오브젝트 상태표시줄 상태바오브젝트 Department of Computer Engineering 2 Win32 Application 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 informationA Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning
C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용
More informationMicrosoft PowerPoint - C++ 5 .pptx
C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성
More information17장 클래스와 메소드
17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는
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 informationvar answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");
자바스크립트 (JavaScript) - HTML 은사용자에게인터페이스 (interface) 를제공하는언어 - 자바스크립트는서버로데이터를전송하지않고서할수있는데이터처리를수행한다. - 자바스크립트는 HTML 나 JSP 에서작성할수있고 ( 내부스크립트 ), 별도의파일로도작성이가능하다 ( 외 부스크립트 ). - 내부스크립트 - 외부스크립트
More information어댑터뷰
04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결
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 information디지털영상처리3
비트맵 BMP 파일의 실제 BMP 파일의 BMP 파일을 화면에 개요 이해 분석 출력 } 비트맵 (bitmap) 윈도우즈에서영상을표현하기위해사용되는윈도우즈 GDI(Graphic Device Interface) 오브젝트의하나 } 벡터그래픽 (vector graphics) 점, 선, 면등의기본적인그리기도구를이용하여그림을그리는방식 } 윈도우즈 GDI(Graphic
More informationStructure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오.
Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, 2018 1 George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오. 실행후 Problem 1.3에 대한 Display결과가 나와야 함) George 그림은 다음과
More informationPowerPoint Template
16-1. 보조자료템플릿 (Template) 함수템플릿 클래스템플릿 Jong Hyuk Park 함수템플릿 Jong Hyuk Park 함수템플릿소개 함수템플릿 한번의함수정의로서로다른자료형에대해적용하는함수 예 int abs(int n) return n < 0? -n : n; double abs(double n) 함수 return n < 0? -n : n; //
More information쉽게 풀어쓴 C 프로그래밍
제 13 장파일처리 1. 스트림의개념을이해한다. 2. 객체지향적인방법을사용하여파일입출력을할수있다. 3. 텍스트파일과이진파일의차이점을이해한다. 4. 순차파일과임의접근파일의차이점을이해한다. 이번장에서만들어볼프로그램 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 입출력관련클래스들 파일쓰기
More informationJAVA PROGRAMMING 실습 08.다형성
2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스
More information4 장클래스와객체 클래스와객체 public과 private 구조체와클래스객체의생성과생성자객체의소멸과소멸자생성자와소멸자의호출순서디폴트생성자와디폴트소멸자멤버초기화멤버함수의외부정의멤버함수의인라인함수선언 C++ 프로그래밍입문
4 장클래스와객체 클래스와객체 public과 private 구조체와클래스객체의생성과생성자객체의소멸과소멸자생성자와소멸자의호출순서디폴트생성자와디폴트소멸자멤버초기화멤버함수의외부정의멤버함수의인라인함수선언 C++ 프로그래밍입문 1. 클래스와객체 추상데이터형 : 속성 (attribute) + 메서드 (method) 예 : 자동차의속성과메서드 C++ : 주로 class
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 information윈도우시스템프로그래밍
객체지향프로그래밍응용 Chap 4. 대화상자와컨트롤 (#2) 2012.10.08. 오병우 컴퓨터공학과금오공과대학교 Control 들을가진윈도우 Dialog 개요 사용자의입력을받기위한 Object 의집합 종류 프로그램수행도중사용자의입력이필요할때다이얼로그박스출력 다이얼로그박스는사용자로부터입력받은데이터를메인루틴에넘기고소멸 Modal Dialog Parent window
More informationMFC 프로그래밍
윈도우프로그래밍 Visual C++ 2010 MFC Programming 1 장. 윈도우프로그래밍기초 윈도우운영체제의특징 그래픽사용자인터페이스 시스템메뉴타이틀바메뉴최소 / 최대 / 닫기버튼 툴바 대화상자 클라이언트영역 상태표시줄 스크롤바 윈도우운영체제의특징 메시지구동구조 윈도우운영체제의특징 멀티태스킹과멀티스레딩 멀티태스킹 (Multitasking) 운영체제가여러개의응용프로그램을동시에실행
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 information1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할
15 장기타주제들 auto_ptr 변환함수 cast 연산자에의한명시적형변환실행시간타입정보알아내기 (RTTI) C++ 프로그래밍입문 1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout > *p; if (*p
More information쉽게 풀어쓴 C 프로그래밍
CHAPTER 11. 자바스크립트와캔버스로게임 만들기 캔버스 캔버스는 요소로생성 캔버스는 HTML 페이지상에서사각형태의영역 실제그림은자바스크립트를통하여코드로그려야한다. 컨텍스트객체 컨텍스트 (context) 객체 : 자바스크립트에서물감과붓의역할을한다. var canvas = document.getelementbyid("mycanvas"); var
More informationISP and CodeVisionAVR C Compiler.hwp
USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler
More informationFrama-C/JESSIS 사용법 소개
Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie
More informationMicrosoft PowerPoint - Lect04.pptx
OBJECT ORIENTED PROGRAMMING Object Oriented Programming 이강의록은 Power Java 저자의강의록을사용했거나재편집된것입니다. Class 와 object Class 와객체 클래스의일생 메소드 필드 String Object Class 와객체 3 클래스 클래스의구성 클래스 (l (class): 객체를만드는설계도 클래스로부터만들어지는각각의객체를특별히그클래스의인스턴스
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 informationMicrosoft PowerPoint - logo_2-미해답.ppt [호환 모드]
Chap.2 Logo 프로그래밍기초 - 터틀그래픽명령어 ( 기본, 고급 ) 학습목표 터틀의이동과선그리기에대해살펴본다. 터틀의회전에대해살펴본다. 터틀펜과화면제어에대해살펴본다. 2012. 5. 박남제 namjepark@jejunu.ac.kr < 이동하기 > - 앞으로이동하기 forward 100 터틀이 100 픽셀만큼앞으로이동 2 < 이동하기 > forward(fd)
More informationC++ Programming
C++ Programming 상속과다형성 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 상속의이해 상속과다형성 다중상속 2 상속과다형성 객체의이해 상속클래스의객체의생성및소멸 상속의조건 상속과다형성 다중상속 3 상속의이해 상속 (Inheritance) 클래스에구현된모든특성 ( 멤버변수와멤버함수 )
More informationMicrosoft PowerPoint _대화상자.ppt
7 장. 대화상자 모달대화상자 (modal dialog box) DDX (Dialog Data Exchange) 모델리스대화상자 (modeless dialog box) 공통대화상자의사용 Paint3.dsw 순천향대학교정보기술공학부이상정 1 모달대화상자 (modal dialog box) 순천향대학교정보기술공학부이상정 2 대화상자의종류 모달대화상자 (modal
More information<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>
SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......
More informationWindows 8에서 BioStar 1 설치하기
/ 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar
More information다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");
다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher
More informationiii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.
Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:
More information슬라이드 1
-Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include
More information<4D F736F F F696E74202D203031C0E520C0A9B5B5BFEC20C7C1B7CEB1D7B7A1B9D620B1E2C3CA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D>
01 : 윈도우프로그래밍기초 학습목표 윈도우운영체제와윈도우응용프로그램의특징을이해한다. SDK 응용프로그램작성과정, 기본구조, 동작원리를이해한다. MFC 응용프로그램작성과정, 기본구조, 동작원리를이해한다. 비주얼 C++ 개발환경사용법을익힌다. 윈도우운영체제특징 (1/3) 그래픽사용자인터페이스 1 윈도우운영체제특징 (2/3) 메시지구동구조 이벤트발생... 대기
More informationMicrosoft PowerPoint - Java7.pptx
HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)
More informationMicrosoft PowerPoint - a10.ppt [호환 모드]
Structure Chapter 10: Structures t and Macros Structure 관련된변수들의그룹으로이루어진자료구조 template, pattern field structure를구성하는변수 (cf) C언어의 struct 프로그램의 structure 접근 entire structure 또는 individual fields Structure는
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 informationMicrosoft PowerPoint - 2강
컴퓨터과학과 김희천교수 학습개요 Java 언어문법의기본사항, 자료형, 변수와상수선언및사용법, 각종연산자사용법, if/switch 등과같은제어문사용법등에대해설명한다. 또한 C++ 언어와선언 / 사용방법이다른 Java의배열선언및사용법에대해서설명한다. Java 언어의효과적인활용을위해서는기본문법을이해하는것이중요하다. 객체지향의기본개념에대해알아보고 Java에서어떻게객체지향적요소를적용하고있는지살펴본다.
More informationKNK_C_05_Pointers_Arrays_structures_summary_v02
Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",
More informationchap 5: Trees
5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경
More information(Microsoft PowerPoint - 11\300\345.ppt [\310\243\310\257 \270\360\265\345])
입출력 C++ 의효율적인입출력방법을배워보자. 이장에서다룰내용 1 cin 과 cout 을이용한입출력 2 입출력연산자중복 3 조작자생성 4 파일입출력 01_cin 과 cout 을이용한입출력 포맷입출력 C++ 의표준입출력은 cin, cout 을사용한다. C 의 printf 는함수이므로매번여러인자를입력해줘야하지만, cin/cout 에서는형식을한번만정의하면계속사용할수있다.
More informationtiawPlot ac 사용방법
tiawplot ac 매뉴얼 BORISOFT www.borisoft.co.kr park.ji@borisoft.co.kr HP : 00-370-077 Chapter 프로그램설치. 프로그램설치 3 2 Chapter tiawplot ac 사용하기.tiawPlot ac 소개 2.tiawPlot ac 실행하기 3. 도면파일등록및삭제 4. 출력장치설정 5. 출력옵션설정
More informationC++ Programming
C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator
More informationMicrosoft PowerPoint - hci2-lecture11.ppt
공통컨트롤 HCI Programming 2 (321190) 2008 년가을학기 11/26/2008 박경신 공통컨트롤 (Window Common Control) Animate Control Image List Control List Control Progress Bar Control Tab Control Tree Control Spin Control Slider
More information쉽게 풀어쓴 C 프로그래밍
제 3 장함수와문자열 1. 함수의기본적인개념을이해한다. 2. 인수와매개변수의개념을이해한다. 3. 함수의인수전달방법 2가지를이해한다 4. 중복함수를이해한다. 5. 디폴트매개변수를이해한다. 6. 문자열의구성을이해한다. 7. string 클래스의사용법을익힌다. 이번장에서만들어볼프로그램 함수란? 함수선언 함수호출 예제 #include using
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