<33372DC0A9B5B5BFECC7C1B7CEB1D7B7A1B9D62E687770>

Similar documents
<4D F736F F F696E74202D203031C0E520C0A9B5B5BFEC20C7C1B7CEB1D7B7A1B9D620B1E2C3CA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D>

MFC 프로그래밍

1장 윈도우 프로그래밍 들어가기

Microsoft PowerPoint - hci2-lecture1.ppt

Microsoft PowerPoint - 04windows.ppt

Microsoft PowerPoint - hci2-lecture1.ppt

5장 MFC기반 다지기

윈도우 프로그래밍

Microsoft PowerPoint - 09-CE-5-윈도우 핸들

Microsoft PowerPoint - hci2-lecture5-messagemap.ppt

PowerPoint 프레젠테이션

04장 메시지 처리 유형

Microsoft PowerPoint - 09-CE-14-리스트콤보박스

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

4S 1차년도 평가 발표자료

Chapter 1. MFC 시작하기

Visual C++의 개요

윈도우즈 프로그래밍

그래픽 프로그래밍

슬라이드 1

PowerPoint Template

윈도우 프로그래밍의 개념

<4D F736F F F696E74202D203036C0E520BBE7BFEBC0DA20C0CEC5CDC6E4C0CCBDBA205BC8A3C8AF20B8F0B5E55D>

[제1강] 텍스트를 입력하세요

DLL(Dynamic Linked Library)

Programming hwp

윈도우시스템프로그래밍

gnu-lee-oop-kor-lec06-3-chap7

<312DBED5BACEBCD328B8D3B8AEB8BB2CB8F1C2F7292DBCF6C1A42E687770>

Microsoft PowerPoint - 09-CE-7-선과 도형

歯Lecture2.PDF

PowerPoint 프레젠테이션

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

2014 년정보보호졸업작품보고서 파일유출방지시스템 지도교수님 : 양환석교수님 팀명 : LKC Security 팀원 : 이호영, 김상우, 최유택 중부대학교정보보호학과

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

제8장 자바 GUI 프로그래밍 II

윈도우 프로그래밍의 개념

Microsoft PowerPoint - CPP_chap3

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

윈도우 프로그래밍의 개념

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

쉽게 풀어쓴 C 프로그래밍

Chapter #01 Subject

윈도우시스템프로그래밍

PowerPoint Presentation

<4D F736F F F696E74202D20C1A C0E520B5B5C5A5B8D5C6AE20C6C4C0CF20C0D4C3E2B7C220B9D720B4D9BEE7C7D120BAE420C5ACB7A1BDBA2E BC8A3C8AF20B8F0B5E55D>

슬라이드 1

Microsoft PowerPoint - 09-CE-24-채팅 프로그램

Microsoft PowerPoint - CPP_chap1

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345])

윈도우시스템프로그래밍

Microsoft PowerPoint - hci2-lecture3.ppt

PowerPoint Presentation

Microsoft PowerPoint - hci2-lecture6.ppt

untitled

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

설계란 무엇인가?

Visual Basic 반복문

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - hci2-lecture3.ppt

윈도우시스템프로그래밍

예제와 함께 배워보는 OllyDbg사용법

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

DCL Debugging Support

10 장세균전프로그래밍 10.1 게임룰 (1) 사람과컴퓨터가싸우는 2인용보드게임이다. (2) 사람이먼저움직이고, 컴퓨터가움직인다. (3) 세균을가로및세로방향으로 2칸까지빈칸으로이동시킬수있다. (4) 1칸을이동할경우에는복제가된다. (5) 이동한후주변세균은내편으로바뀐다.

Microsoft Word - hci07-final-answer.doc

Microsoft PowerPoint - 09-CE-25-오목게임

JUNIT 실습및발표

PowerPoint Template

쉽게 풀어쓴 C 프로그래밍

윈도우즈 프로그래밍

Microsoft PowerPoint - MFC-교재.ppt

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont

[제1강] 텍스트를 입력하세요

윈도우즈 프로그래밍

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

Microsoft PowerPoint - 09-Object Oriented Programming-3.pptx

(Microsoft Word - \301\337\260\243\260\355\273\347.docx)

Microsoft PowerPoint - hci2-lecture6.ppt

어댑터뷰

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - 07-Data Manipulation.pptx

PowerPoint 프레젠테이션

Programming hwp

Microsoft PowerPoint - Chapter 6.ppt

VISLAB 박제강 1. 시작하기전에영상관련알고리즘을개발하는과정에서작성한프로그램을테스트하고피드백하는작업은빈번하게발생한다. 이때기존콘솔 (Console) 형태로작성된프로그램의경우테스트작업을유동적으로조절할수없기때문에작업의효율이떨어진다. 반면 GUI(Graphical Use

Network Programming

PowerPoint Presentation

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

윈도우시스템프로그래밍

Microsoft PowerPoint - chap01-C언어개요.pptx

윈도우 프로그래밍의 개념

Microsoft PowerPoint - chap06-2pointer.ppt

슬라이드 1

슬라이드 1

API 매뉴얼

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

C++ Programming

Transcription:

2010 학년도동계 계절수업시험문제지 출제위원 방송대김강현 학과명학번 - 성 명 감독관확인 ( 인 ) 교과목명 교과목코드 윈도우프로그래밍 3 7 출제범위 교재전체 ( 해당강의포함 ) 문항수 50 문항 [50 문항 2 점 =100 점 ] 유의사항 1. OMR 답안지및문제지인적사항표기는반드시컴퓨터용사인펜으로할것 2. 표기한답안은정정이일절불가하니답안표기에각별히유의할것 ( 백색수정액등을사용하여수정불가 ) 3. 답안지의 교과목명 및 교과목코드 의기입, 표기는아래의예시를참조할것 예시 ) 글쓰기 ( 교과목코드 01) 를신청했을경우답안지의 교과목명및교과목코드기입, 표기요령 기입 교과목명 글쓰기 교과목코드 기입표기 0 12345 1 ❶ 23456789 번호 1 2 3 4 번호 1 2 3 4 4. OMR 답안지에표기한신청교과목과문제지의일치여부를확인할것 윈도우프로그래밍 7-1

1. 다음윈도우프로그래밍의특징에대한설명중틀린것은? 1 GUI(Graphics User Interface) 환경이다. 2 멀티태스킹을지원한다. 3 일관된사용자인터페이스를제공한다. 4 입출력장치로부터종속되어있다. 2. 운영체제 (OS) 가애플리케이션에메시지를보낼때이를처리하는함수는? 1 WinMain 2 윈도우프로시저 (Procedure) 3 가상함수 4 InitInstance 3. 데스크탑에여러개의프로그램이실행중이라고가정할때순서대로나열한것은? 가. 마우스 / 키보드이벤트발생나. 메시지의형태로변환되어시스템큐에순서대로저장. 다. 운영체제가시스템메시지큐에메시지가있는지검사한다. 라. 운영체제가시스템메시지큐에서메시지를꺼내어이벤트가발생한프로그램의스레드메시지큐에전달한다. 마. 스레드메시지큐에서메시지를꺼내어운영체제에게적절한윈도우프로시저를호출하도록지시한후메시지를제거한다. 1 가-나-다-라-마 2 나-다-가-마-라 3 마-라-다-나-가 4 다-라-마-나-가 4. 콜백함수의정의에대해올바로서술한것은? 1 프로그램이호출하는운영체제내부의함수 2 사용자함수가호출하는운영체제내부의함수 3 운영체제가호출하는프로그램내부의함수 4 파라미터의순서를역으로전달하는함수 (5~17) 다음은윈도우를생성하고보여주는 Win32 API 프로그램이다물음에답하라. char classname[] = "HellowWin"; LRESULT CALLBACK HellowWndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow) MSG msg; if (!InitApplication(hinstance)) if (!InitInstance(hinstance, ncmdshow)) while ( 가 ) (&msg, (HWND) NULL, 0, 0)) TranslateMessage (&msg); DispatchMessage (&msg); BOOL InitApplication(HINSTANCE hinstance) WNDCLASSEX wcx; wcx.cbsize = sizeof(wcx); wcx.style = CS_HREDRAW CS_VREDRAW; wcx.lpfnwndproc = ( 나 ) ; wcx.cbclsextra = 0; wcx.cbwndextra = 0; wcx.hinstance = ( 다 ); wcx.hicon = LoadIcon(NULL, IDI_APPLICATION); wcx.hcursor = LoadCursor(NULL, IDC_ARROW); wcx.hbrbackground = GetStockObject(WHITE_BRUSH); wcx.lpszmenuname = NULL; wcx.lpszclassname = classname; wcx.hiconsm = NULL; if(registerclassex(&wcx)==0) wcx.lpfnwndproc = ChildWndProc; wcx.lpszclassname = childclassname; return RegisterClassEx(&wcx); BOOL InitInstance(HINSTANCE hinstance, int ncmdshow) HWND hwnd; hwnd = ( 라 )( classname, "Hello Window", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, ---- ᄀ CW_USEDEFAULT, ---- ᄂ CW_USEDEFAULT, ---- ᄃ CW_USEDEFAULT, ---- ᄅ (HWND) NULL, (HMENU) NULL, hinstance, (LPVOID) NULL); if (!hwnd) ( 마 )(hwnd, SW_SHOW); return TRUE; 5. 빈칸가에적당한것은? 6. 빈칸나에적당한것은? 7. 빈칸다에적당한것은? 윈도우프로그래밍 7-2

8. 빈칸라에적당한것은? 9. 빈칸마에적당한것은? 2 RegisterClassEx 3 ShowWindow 4 GetMessage 10. 윈도우의높이를지정하는것은? 1 ᄀ 2 ᄂ 3 ᄃ 4 ᄅ 11. 이프로그램은확장자를 cpp로하고나서 C++ 에서컴파일을하면 GetStockObject(WHITE_BRUSH); 에서 type casting 에러가나게된다. 이를방지하기위해서함수앞에넣어주어야할것은? 1 (HBRUSH) 2 (HMENU) 3 (HWND) 4 (HDC) 12. 다음중 Load 된 EXE 나 DLL의위치를나타내는것은? 1 &msg 2 hwnd 4 ncmdshow (13~17) 계속해서 HellowWndProc 함수의일부이다. LRESULT CALLBACK HellowWndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) char text[] = "Hello Window"; switch(message) case ( 가 ) PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd,&ps); TextOut(hdc,100,100,text,strlen(text)); EndPaint(hWnd,&ps); case ( 나 ) HWND hchildwnd = CreateWindow( "button", " 학과 ", WS_CHILD WS_VISIBLE, case ( 다 ) if(loword(wparam) == ID_OK_BTN) MessageBox(hWnd," 컴퓨터과학과 "," 학과 ",MB_OK); case ( 라 ) PostQuitMessage(0); return DefWindowProc(hWnd, message, wparam, lparam); 13. 가, 나, 다, 라에차례대로들어갈메시지는? 1 가 WM_PAINT, 나 WM_CREATE, 다 WM_COMMAND, 2 가 WM_CREATE, 나 WM_PAINT, 다 WM_COMMAND, 3 가 WM_COMMAND, 나 WM_PAINT, 다 WM_CREATE, 4 가 WM_COMMAND, 나 WM_CREATE, 다 WM_PAINT, 14. 버튼에나타나는캡션은어느것인가? 1 학과 2 확인 3 이름 4 [ 확인 ] 버튼이클릭되었다 15. 문자출력을위해서디바이스컨텍스트를구하는것은? 1 PAINTSTRUCT 2 BeginPaint 3 TextOut 4 EndPaint 16. 다음메시지에대한설명중틀린것은? 1 WM_PAINT 문자열을출력하려고할때필요하다 2 WM_CREATE 윈도우를생성하려고할때필요하다. 3 WM_COMMAND 버튼컨트롤이클릭되었을때발생된다. 4 WM_DESTROY 윈도우를축소하려고할때필요하다. 17. MB_OK 의의미는? 1 [ 확인 ] 버튼만있는메시지박스 2 [ 확인 ], [ 취소 ] 버튼만있는메시지박스 3 [YES] 버튼만있는메시지박스 4 [YES], [NO] 버튼만있는메시지박스 윈도우프로그래밍 7-3

18. 다음중디버깅에대한설명중틀린것은? 1 Output 윈도우는디버깅시디버그정보가출력되는윈도우다. 2Breakpoint는프로그램이실행하다 Breakpoint가설정된포인트에서멈춘다. 3디버그모드로만든프로그램은릴리즈모드로만든프로그램보다크기가작다. 4디버깅을위해서는 variable 윈도우와 watch 윈도우그리고 output 윈도우가필요하다. 19. 다음은디버깅에관련된내용이다. 특정조건을조사해서조건이 False 이면이매크로가호출된소스파일이름과라인번호를메시지박스에출력하고프로그램을종료하는것은? 1 TRACE 2 Variables 윈도우 3 Watch 윈도우 4 ASSERT 20. 다음클래스와관련된설명중틀린것은? 1 public 으로지정된멤버들은외부에서접근할수없다. 2 멤버변수는 인스턴스이름. 멤버변수 형태로사용한다. 3 멤버함수는 리턴값클래스이름 함수이름 ( 파라미터 ) 형태로작성한다. 4 컨스트럭터 ( 생성자 ) 함수는객체를생성할때객체의멤버들을초기화할수있다. (21~32) 다음은 SDI 프로그램을이용하여차일드윈도우를생성한후컨트롤들을생성하는 SDIView.cpp 파일의일부이다. 다음의결과윈도우를보면서물음에답하라. int CSDIViewOnCreate(LPCREATESTRUCT lpcreatestruct) m_mywnd.create(afxregisterwndclass(cs_hredraw CS_VREDRAW), " 차일드윈도우 ", WS_OVERLAPPEDWINDOW WS_VISIBLE WS_CHILD, CRect(50,50,300,200), this, 1010 ); m_downbutton.create("<<",ws_visible, CRect( 가 ), this, ID_DOWN_BUTTON); m_upbutton.create(">>",ws_visible, CRect( 나 ), this,id_up_button); m_listbox.create(ws_dlgframe WS_VISIBLE, CRect( 다 ),this, ID_LISTBOX); m_listbox.addstring(" 윈도우프로그래밍!"); m_progressbar.create(ws_dlgframe WS_VISIBLE PBS_VERTICAL, CRect( 라 ),this, ID_PROGBAR); m_progressbar.setrange(0,9); m_progressbar.setpos(1); void CSDIViewOnDownButton() int count = m_listbox.getcount(); if(count > 0) m_listbox.deletestring( 마 ); m_progressbar.setpos( 바 ); AfxMessageBox(" 지울아이템이없습니다 "); void CSDIViewOnUpButton() int count = m_listbox.getcount(); #define ID_DOWN_BUTTON 2000 #define ID_UP_BUTTON 2010 #define ID_LISTBOX 2020 #define ID_PROGBAR 2030 BEGIN_MESSAGE_MAP(CSDIView, CView) ( 'a' ) END_MESSAGE_MAP() if(count < 10) m_listbox.addstring(" 윈도우프로그래밍!"); m_progressbar.setpos( 사 ); AfxMessageBox(" 더이상추가할수없습니다 "); 21. 다음설명중틀린것은? 1다운버튼을클릭했을때메시지핸들러함수 OnDownButton 이호출된다. 2ON_COMMAND 매크로는 WM_COMMAND 메시지에해당되는매크로이다. 3진행바의범위는 1에서 10까지이며현재위치는 4로설정되어있다. 4 뷰윈도우 (SDIView) 가생성될때메시지핸들러함수 OnCreate() 가호출되어차일드윈도우가생성된다. 윈도우프로그래밍 7-4

22. 차일드윈도우의 ID는? 1 50 2 200 3 300 4 1010 23. 다음중진행바컨트롤의 ID는? 1 2000 2 2010 3 2020 4 2030 24. 다음중리스트박스컨트롤의 ID는? 1 2000 2 2010 3 2020 4 2030 25. 빈칸 가 에알맞은것은? 26. 빈칸 나 에알맞은것은? 27. 빈칸 다 에알맞은것은? 28. 빈칸 라 에알맞은것은? 29. 빈칸 마 와 바 에각각알맞은것은? 1 count-1, count-1 2 count, count-1 3 count, count 4 count, count+1 30. 빈칸 사 에알맞은것은? 1 count-1 2 count 3 count+1 4 0 31. 위프로그램으로보아서메시지맵에있는빈칸 a 에들어갈내용이아닌것은? 1 ON_WM_CREATE() 2 ON_WM_PAINT() 3 ON_COMMAND(ID_DOWN_BUTTON, OnDownButton) 4 ON_COMMAND(ID_UP_BUTTON, OnUpButton) 32. 위의프로그램에서생성되는모든컨트롤들을나열한것은? 1 버튼과에디트박스 2 버튼과진행바와에디트박스 3 버튼과리스트박스 4 버튼과진행바와리스트박스 33. 다음중 SDI (Single Document Interface) 응용프로그램은? 1 비주얼스튜디오 2 MS-엑셀 3 MS 워드 4 메모장 34. 다음중 MDI 프로그램은? 1 계산기 2 윈도우탐색기 3 MS 워드 4 메모장 35. 비주얼 C++ 을이용하여먼저, 콘솔프로그램을작성하고둘째, API를이용하여윈도우프로그램을작성하고셋째, MFC를이용하여윈도우프로그램을작성하려고한다. 다음중순서에맞도록프로젝트가나열된것은? 1 Win32 Console Application, Win32 Application, MFC AppWizard[exe] 2 Win32 Console Application, MFC AppWizard[exe], Win32 Application 3 Win32 Application, Win32 Console Application, MFC AppWizard[exe] 4 Win32 Application, MFC AppWizard[exe], Win32 Console Application 36. 다음은디버깅에관련된내용이다. Local, Auto, this 탭을이용해서변수값을검사할수있는것은? 1 TRACE 2 Variables 윈도우 3 Watch 윈도우 4 ASSERT 37. 다음은메시지핸들러함수들이다윈도우를생성할때호출되는함수는? 1 OnCreate() 2 OnSize() 3 OnPaint() 4 OnClose() (38~39) 다음은웹브라우저프로젝트에서한글영문모드를검사하고팬에문자열을출력하는프로그램이다. 다음물음에답을하라. BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) ON_WM_CREATE() ON_UPDATE_COMMAND_UI(ID_IME_MODE, OnUpdateIMEPane) END_MESSAGE_MAP() void CMainFrameOnUpdateIMEPane(CCmdUI* pcmdui) ----- 가 DWORD immstate, immsentence; HIMC himc; if((himc = ImmGetContext(GetSafeHwnd()))) ------- 나 if(immgetconversionstatus(himc,&immstate,&immsentence)) -- 다 if(immstate == IME_CMODE_HANGEUL) m_wndstatusbar.setpanetext(1," 한글 "); m_wndstatusbar.setpanetext(1," 영문 "); ImmReleaseContext(GetSafeHwnd(),hIMC); ------------라 윈도우프로그래밍 7-5

38. 프로그램에서 UI 업데이트핸들러함수는? 1 가 2 나 3 다 4 라 39. 프로그램에서현재의 IME 상태를파악하는함수는? 1 가 2 나 3 다 4 라 (40~42) 다음은웹브라우저프로젝트에서 WebBrView.CPP 파일의일부이다. 업데이트 UI 핸들러함수를추가하고 ActiveX 컨트롤이벤트를발생하는부분이다. ON_WM_CREATE() ON_WM_SIZE() ON_UPDATE_COMMAND_UI(ID_MOVE_BACK, OnUpdateMoveBack) ON_UPDATE_COMMAND_UI(ID_MOVE_NEXT, OnUpdateMoveNext) BEGIN_EVENTSINK_MAP(CWebBrView, CView) ON_EVENT(CWebBrView, 1010, 105, ( 가 ), VTS_I4 VTS_BOOL) END_EVENTSINK_MAP() CWebBrViewCWebBrView() m_bback = FALSE; m_bforward = FALSE; int CWebBrViewOnCreate(LPCREATESTRUCT lpcreatestruct) if(m_webbr.create("web Control",WS_CHILD WS_VISIBLE, rc, this, 1010) == FALSE) AfxMessageBox(" 웹브라우저컨트롤생성실패 \n"); return -1; m_webbr.( 나 ); void CWebBrViewOnSize(UINT ntype, int cx, int cy) CView OnSize(nType, cx, cy); (m_webbr.movewindow(0,0,cx,cy)); void CWebBrViewOnUpdateMoveBack(CCmdUI* pcmdui) pcmdui->enable(m_bback); 40. 빈칸 가 에적당한것은? 1 OnCreate 2 OnSize 3 OnUpdateMoveNext 4 OnCommandStateChange 41. 빈칸 나 에적당한것은? 1 GoHome() 2 Reload() 3 GoBack() 4 GoNext 42. 빈칸 다 에적당한것은? 1 True 2 Enable 3 Command 4 False (43~44) 다음은웹브라우저프로젝트에서 URL로이동하는프로그램이다. 물음에답하라. void CMainFrameOnGoSite() CComboBox* pcombo = (CComboBox*)(m_wndAddressBar.GetDlgItem(IDC_COMBO1)); if(pcombo) CString urlstr; pcombo->getwindowtext(urlstr); if(urlstr!= "") ((CWebBrView*)GetActiveView())-> m_webbr.navigate(urlstr, NULL, NULL, NULL, NULL); AfxMessageBox(" 이동할사이트를입력하세요 "); void CWebBrViewOnUpdateMoveNext(CCmdUI* pcmdui) pcmdui->enable(m_bforward); void CWebBrViewOnCommandStateChange(long Command, BOOL Enable) switch(command) case CSC_NAVIGATEFORWARD m_bforward = ( 다 ); break; case CSC_NAVIGATEBACK m_bback = ( 다 ); break; 43. 지정한 URL 주소로이동하게하는함수는? 1 GetDlgItem() 2 GetWindowText() 3 GetActiveView() 4 Navigate() 44. 뷰클래스를구하는함수는? 1 GetDlgItem() 2 GetWindowText() 3 GetActiveView() 4 Navigate() 윈도우프로그래밍 7-6

(45~50) 다음은그래픽에디터프로젝트와관련된문제들이다. 45. 다음 GDI 함수중에서원을그리는함수는? 1 LineTo 2 MoveTo 3 Ellipse 4 Rectangle 46. GDI 객체를사용하여사각형을그리는프로그램이다. 빈칸 가 와 나 에공통적으로들어갈것은? void CGraphicViewOnDraw(CDC * pdc) CPen pen( PS_SOLID, 5, RGB(0, 0, 255 ) ); CPen * poldpen = pdc->( 가 )( &pen ); pdc->rectangle(50, 50, 150, 150 ); pdc->( 나 )( poldpen ); 49. CLineObj, CCircleObj, CRectObj 등은 CDrawingObj 클래스로부터상속받은클래스들이므로이러한프로그램이가능하다. 이를위해서 CGraphicView의헤더파일에반드시선언되어야하는것은? 1 class CDrawingObj public CObject 2 IMPLEMENT_SERIAL(CDrawingObj, CObject, 0) 3 CDrawingObj* m_pdrawingobj 4 DECLARE_SERIAL(CDrawingObj) 50. 빈칸 가 에가장적당한것은? 1 nflags 2 m_isdrawing 3 m_ncurdrawmode 4 m_pdrawingobj 1 Draw 3 SetCurSel 2 SelectObject 4 UpdateData (47~48) 다음은이전에그려진도형을지우는프로그램이다. void CGraphicViewOnMouseMove(UINT nflags, CPoint point) if(m_isdrawing) CClientDC dc(this); int oldmode = ( 가 )(R2_NOTXORPEN); m_pdrawingobj->draw(&dc); m_pdrawingobj->setendxy(point); m_pdrawingobj->draw(&dc); ( 나 )(oldmode); CViewOnMouseMove(nFlags, point); 47. 빈칸 가 와 나 에공통적으로들어갈것은? 1 Draw 2 Paint 3 dc.setrop2 4 SetStartXY 48. 여기서왼쪽버튼이눌릴때만그리기작업을하도록해주는것은? 1 nflags 2 point 3 m_isdrawing 4 SetRop2 (49~50) 도형클래스를이용하여도형을그리는프로그램의일부이다. void CGraphicViewOnLButtonDown(UINT nflags, CPoint point) if(m_ncurdrawmode == LINE_MODE) m_pdrawingobj = new CLineObj; if(m_ncurdrawmode == CIRCLE_MODE) m_pdrawingobj = new CCircleObj; if(m_ncurdrawmode == RECT_MODE) m_pdrawingobj = new CRectObj; if( 가 ) m_pdrawingobj->setstartxy(point); m_pdrawingobj->setendxy(point); 윈도우프로그래밍 7-7