игра брюс 2048
Главная / Программирование / Практикум прикладного программирования на MFC и C++ в среде VS.NET / Тест 21

Практикум прикладного программирования на MFC и C++ в среде VS.NET - тест 21

Упражнение 1:
Номер 1
Метод array.Append(source) класса массивов MFC выполняет:

Ответ:

 (1) копирование source в array 

 (2) присоединение source в конец array 

 (3) управление расмером массива 


Номер 2
Метод array.Copy(source) класса массивов MFC выполняет:

Ответ:

 (1) копирование source в array 

 (2) присоединение source в конец array 

 (3) управление расмером массива 


Номер 3
Метод array.SetSize(int iNewSize, iGrowBy) класса массивов MFC выполняет:

Ответ:

 (1) копирование source в array 

 (2) присоединение source в конец array 

 (3) управление расмером массива 


Упражнение 2:
Номер 1
Какая функция, из ниже перечисленных, отключает вкладки?

Ответ:

 (1) BOOL CFindSheet::IsPageDisabled(int iPage) { BOOL bFoundEntry = FALSE; int iSize = (int)m_arrDisabledPages.GetSize(); int i = 0; while(i < iSize && !bFoundEntry) if(m_arrDisabledPages.GetAt(i) == (UINT)iPage) bFoundEntry = TRUE; else i++; return bFoundEntry; } 

 (2) void CFindSheet::DisablePage(int iFirstPage, ...) { int iPage = iFirstPage; va_list marker; va_start (marker, iFirstPage); int nArgs = 0; while(iPage != -1){ int count = (int)m_arrDisabledPages.GetCount(); bool flag = false; for(int i = 0; i < count; i++) if(m_arrDisabledPages.GetAt(i) == (UINT)iPage){ flag = true; break; } if(!flag) m_arrDisabledPages.Add(iPage); SetDisabledText(iPage); iPage = va_arg(marker, UINT); nArgs++; ASSERT(nArgs < 100); } } 

 (3) void CFindSheet::SetDisabledText(int iPage) { CTabCtrl *pTab = GetTabControl(); ASSERT(pTab); TC_ITEM ti; char szText[100]; ti.mask = TCIF_TEXT; ti.pszText = szText; ti.cchTextMax = 100; VERIFY(pTab->GetItem(iPage, &ti)); strcat(szText, DISABLED_TEXT); VERIFY(pTab->SetItem(iPage, &ti)); } 


Номер 2
Какая функция, из ниже перечисленных, маркирует текст заголовков вкладок?

Ответ:

 (1) BOOL CFindSheet::IsPageDisabled(int iPage) { BOOL bFoundEntry = FALSE; int iSize = (int)m_arrDisabledPages.GetSize(); int i = 0; while(i < iSize && !bFoundEntry) if(m_arrDisabledPages.GetAt(i) == (UINT)iPage) bFoundEntry = TRUE; else i++; return bFoundEntry; } 

 (2) void CFindSheet::DisablePage(int iFirstPage, ...) { int iPage = iFirstPage; va_list marker; va_start (marker, iFirstPage); int nArgs = 0; while(iPage != -1){ int count = (int)m_arrDisabledPages.GetCount(); bool flag = false; for(int i = 0; i < count; i++) if(m_arrDisabledPages.GetAt(i) == (UINT)iPage){ flag = true; break; } if(!flag) m_arrDisabledPages.Add(iPage); SetDisabledText(iPage); iPage = va_arg(marker, UINT); nArgs++; ASSERT(nArgs < 100); } } 

 (3) void CFindSheet::SetDisabledText(int iPage) { CTabCtrl *pTab = GetTabControl(); ASSERT(pTab); TC_ITEM ti; char szText[100]; ti.mask = TCIF_TEXT; ti.pszText = szText; ti.cchTextMax = 100; VERIFY(pTab->GetItem(iPage, &ti)); strcat(szText, DISABLED_TEXT); VERIFY(pTab->SetItem(iPage, &ti)); } 


Номер 3
Какая функция, из ниже перечисленных, отключает возможность выбора пользователем заблокированной вкладки?

Ответ:

 (1) BOOL CFindSheet::IsPageDisabled(int iPage) { BOOL bFoundEntry = FALSE; int iSize = (int)m_arrDisabledPages.GetSize(); int i = 0; while(i < iSize && !bFoundEntry) if(m_arrDisabledPages.GetAt(i) == (UINT)iPage) bFoundEntry = TRUE; else i++; return bFoundEntry; } 

 (2) void CFindSheet::DisablePage(int iFirstPage, ...) { int iPage = iFirstPage; va_list marker; va_start (marker, iFirstPage); int nArgs = 0; while(iPage != -1){ int count = (int)m_arrDisabledPages.GetCount(); bool flag = false; for(int i = 0; i < count; i++) if(m_arrDisabledPages.GetAt(i) == (UINT)iPage){ flag = true; break; } if(!flag) m_arrDisabledPages.Add(iPage); SetDisabledText(iPage); iPage = va_arg(marker, UINT); nArgs++; ASSERT(nArgs < 100); } } 

 (3) void CFindSheet::SetDisabledText(int iPage) { CTabCtrl *pTab = GetTabControl(); ASSERT(pTab); TC_ITEM ti; char szText[100]; ti.mask = TCIF_TEXT; ti.pszText = szText; ti.cchTextMax = 100; VERIFY(pTab->GetItem(iPage, &ti)); strcat(szText, DISABLED_TEXT); VERIFY(pTab->SetItem(iPage, &ti)); } 


Упражнение 3:
Номер 1
Какой метод класса массива MFC возвращает элемент массива по его индексу?

Ответ:

 (1) array.GetAt(int index) 

 (2) array.SetAt(int index, element) 

 (3) array.InsertAt(int index, element) 


Номер 2
Какой метод класса массива MFC добавляет новый элемент в конец массива?

Ответ:

 (1) array.Add(element) 

 (2) array.RemoveAt(int index, int count=1) 

 (3) array.RemoveAll() 


Номер 3
Какой метод класса массива MFC возвращает количество элементов массива?

Ответ:

 (1) array.GetSize() 

 (2) array.GetCount() 

 (3) array.GetUpperBound() 


Упражнение 4:
Номер 1
Какие классы, из ниже перечисленных, принадлежат классам массивов?

Ответ:

 (1) CArray 

 (2) AddRef 

 (3) CDWordArray 

 (4) Refresh 

 (5) CPtArray 


Номер 2
Какие классы, из ниже перечисленных, не принадлежат классам массивов?

Ответ:

 (1) CArray 

 (2) CButton 

 (3) CDWordArray 

 (4) CLabel 

 (5) CPtArray 

 (6) CPanel 


Номер 3
Какие классы, из ниже перечисленных, принадлежат классам массивов?

Ответ:

 (1) String 

 (2) Int 

 (3) CStringArray 

 (4) CUIntArray 

 (5) Array 


Упражнение 5:
Номер 1
Каким образом, из перечисленных ниже, можно скрыть стандартные кнопки из MFC?

Ответ:

 (1) необходимо для кнопок создать переопределенную функцию OnInitDialog(), которая будет выглядеть следующим образом: BOOL CFindSheet::OnInitDialog() { BOOL bResult = CPropertySheet::OnInitDialog(); int ids[] = { IDCANCEL, ID_APPLY_NOW }; int len = sizeof(ids) / sizeof(ids[0]); for(int i = 0; i < len; i++){ CWnd *pWnd = GetDlgItem(ids[i]); ASSERT(pWnd); if(pWnd) pWnd->ShowWindow(FALSE); } ... rectBtnOk.top = rectPage.top; rectBtnOk.bottom = rectPage.top + cyOk; rectBtnOk.left = rectSheet.right - (cxOk + iBorder); rectBtnOk.right = rectBtnOk.left + cxOk; ScreenToClient(rectBtnOk); pBtnOk->MoveWindow(rectBtnOk); return bResult; } где IDCANCEL, ID_APPLY_NOW - идентификаторы кнопок 

 (2) необходимо для кнопок установить свойство Visible = true

 (3) необходимо для кнопок создать переопределенную функцию OnInitDialog(), которая будет выглядеть следующим образом: BOOL CFindSheet::OnInitDialog() BOOL bResult = CPropertySheet::OnInitDialog(); int ids[] = { IDCANCEL, ID_APPLY_NOW }; int len = sizeof(ids) / sizeof(ids[0]); for(int i = 0; i < len; i++){ CWnd *pWnd = GetDlgItem(ids[i]); ASSERT(pWnd); if(pWnd) pWnd->ShowWindow(FALSE); } return bResult; } где IDCANCEL, ID_APPLY_NOW - идентификаторы кнопок 


Номер 2
Каким образом, из перечисленных ниже, можно переместить стандартные кнопки из MFC?

Ответ:

 (1) необходимо для кнопок создать переопределенную функцию OnInitDialog(), которая будет выглядеть следующим образом: BOOL CFindSheet::OnInitDialog() { BOOL bResult = CPropertySheet::OnInitDialog(); int ids[] = { IDCANCEL, ID_APPLY_NOW }; int len = sizeof(ids) / sizeof(ids[0]); for(int i = 0; i < len; i++){ CWnd *pWnd = GetDlgItem(ids[i]); ASSERT(pWnd); if(pWnd) pWnd->ShowWindow(FALSE); } ... rectBtnOk.top = rectPage.top; rectBtnOk.bottom = rectPage.top + cyOk; rectBtnOk.left = rectSheet.right - (cxOk + iBorder); rectBtnOk.right = rectBtnOk.left + cxOk; ScreenToClient(rectBtnOk); pBtnOk->MoveWindow(rectBtnOk); return bResult; } где IDCANCEL, ID_APPLY_NOW - идентификаторы кнопок 

 (2) необходимо для кнопок установить свойство Move = true

 (3) необходимо для кнопок создать переопределенную функцию OnInitDialog(), которая будет выглядеть следующим образом: BOOL CFindSheet::OnInitDialog() BOOL bResult = CPropertySheet::OnInitDialog(); int ids[] = { IDCANCEL, ID_APPLY_NOW }; int len = sizeof(ids) / sizeof(ids[0]); for(int i = 0; i < len; i++){ CWnd *pWnd = GetDlgItem(ids[i]); ASSERT(pWnd); if(pWnd) pWnd->ShowWindow(FALSE); } return bResult; } где IDCANCEL, ID_APPLY_NOW - идентификаторы кнопок 


Номер 3
Каким образом, из перечисленных ниже, можно изменить надписи стандартных кнопок из MFC?

Ответ:

 (1) необходимо для кнопок создать переопределенную функцию OnInitDialog(), которая будет выглядеть следующим образом: BOOL CFindSheet::OnInitDialog() { BOOL bResult = CPropertySheet::OnInitDialog(); int ids[] = { IDCANCEL, ID_APPLY_NOW }; int len = sizeof(ids) / sizeof(ids[0]); for(int i = 0; i < len; i++){ CWnd *pWnd = GetDlgItem(ids[i]); ASSERT(pWnd); if(pWnd) pWnd->ShowWindow(FALSE); } ............................. rectBtnOk.top = rectPage.top; rectBtnOk.bottom = rectPage.top + cyOk; rectBtnOk.left = rectSheet.right - (cxOk + iBorder); rectBtnOk.right = rectBtnOk.left + cxOk; ScreenToClient(rectBtnOk); pBtnOk->MoveWindow(rectBtnOk); return bResult; } где IDCANCEL, ID_APPLY_NOW - идентификаторы кнопок 

 (2) необходимо для кнопок создать переопределенную функцию OnInitDialog(), которая будет выглядеть следующим образом: BOOL CFindSheet::OnInitDialog() ........................................... ScreenToClient(rectBtnOk); pBtnOk->MoveWindow(rectBtnOk); pBtnOk->SetWindowText(_T("Close")); return bResult; } 

 (3) необходимо для кнопок создать переопределенную функцию OnInitDialog(), которая будет выглядеть следующим образом: BOOL CFindSheet::OnInitDialog() BOOL bResult = CPropertySheet::OnInitDialog(); int ids[] = { IDCANCEL, ID_APPLY_NOW }; int len = sizeof(ids) / sizeof(ids[0]); for(int i = 0; i < len; i++){ CWnd *pWnd = GetDlgItem(ids[i]); ASSERT(pWnd); if(pWnd) pWnd->ShowWindow(FALSE); } return bResult; } где IDCANCEL, ID_APPLY_NOW - идентификаторы кнопок 


Упражнение 6:
Номер 1
Для заготовки проекта типа lib в окне мастера Win32 Application Wizard нужно выбрать:

Ответ:

 (1) Additional options: Empty project 

 (2) Add support for: ATL 

 (3) Application type: Static library 


Номер 2
Для заготовки проекта типа lib в окне мастера MFC Application Wizard нужно выбрать:

Ответ:

 (1) Application type: Single document 

 (2) Use of MFC: Use MFC in a static library 

 (3) Use of MFC: Use MFC in a shared DLL 


Номер 3
Для заготовки проекта типа dll в окне мастера MFC Application Wizard нужно выбрать:

Ответ:

 (1) Application type: Single document 

 (2) Use of MFC: Use MFC in a static library 

 (3) Use of MFC: Use MFC in a shared DLL 


Упражнение 7:
Номер 1
Функция Navigate (LPCTSTR URL) класса CHtmlView выполняет:

Ответ:

 (1) направление пользователя на страницу поиска по Internet 

 (2) возвращает URL текущей просматриваемой браузером Web-страницы 

 (3) направление пользователя на страницу в Internet с указанным адресом URL 


Номер 2
Функция GetBusy() класса CHtmlView выполняет:

Ответ:

 (1) остановку текущего процесса загрузки 

 (2) возвращение URL текущей просматриваемой браузером Web-страницы 

 (3) возвращение логического значения, информирующее, занят ли в данный момент браузер загрузкой Web-страницы 


Номер 3
Функция Refresh() класса CHtmlView выполняет:

Ответ:

 (1) заставляет браузер перезагрузить текущую Web-страницу 

 (2) направление пользователя на страницу поиска по Internet 

 (3) остановку текущего процесса загрузки 


Упражнение 8:
Номер 1
Для адресации к документам в информационном гиперпростве Internet служит:

Ответ:

 (1) панель управления 

 (2) унифицированный указатель ресурса 

 (3) строка для ввода адреса 


Номер 2
Гибридом панели инструментов и диалогового окна является: 

Ответ:

 (1) панель управления 

 (2) унифицированный указатель ресурса 

 (3) строка для ввода адреса 


Номер 3
Вынесение части программного кода в самостоятельные модули - полуфабрикаты называется:

Ответ:

 (1) объектным программированием 

 (2) модульным программированием 

 (3) абстрактным программированием 


Упражнение 9:
Номер 1
void CMainFrame::OnNewAddress(void)
{
  CString strAddress;
  m_wndDlgBar.GetDlgItem(IDC_EADDRESS)->GetWindowText(strAddress);
  ((CWebBrowseView*)GetActiveView())->Navigate(strAddress);
}	Приведенная функция, выполняет: 

Ответ:

 (1) передачу адреса URL 

 (2) прием адреса URL 

 (3) устанавливает текущий адрес URL 


Номер 2
void CWebBrowseView::OnDocumentComplete(LPCTSTR lpszURL)
{
  (CMainFrame*)GetParentFrame())->SetAddress(lpszURL);
  
  CHtmlView::OnDocumentComplete(lpszURL);
}	Приведенная функция, выполняет: 

Ответ:

 (1) передачу текущего URL в класс фрейма для вывода в поле адреса 

 (2) прием адреса URL из класса фрейма для ввода в поле адреса 

 (3) устанавливает текущий адрес URL 


Номер 3
void CMainFrame::SetAddress(LPCTSTR lpszURL)
{
  (m_wndDlgBar.GetDlgItem(IDC_EADDRESS))->SetWindowText(lpszURL);
}	Приведенная функция, выполняет: 

Ответ:

 (1) передачу адреса URL 

 (2) cмену значения URL после загрузки новой страницы 

 (3) передачу текущего URL в класс фрейма для вывода в поле адреса 


Упражнение 10:
Номер 1
Обработчик команды переход на следующую страницу назад в браузере будет иметь следующий код:

Ответ:

 (1) void CWebBrowseView::OnNavigateHome() { GoHome(); } 

 (2) void CWebBrowseView::OnNavigateNext() { GoForward(); } 

 (3) void CWebBrowseView::OnNavigateBack() { GoBack(); } 


Номер 2
Обработчик команды переход на следующую страницу вперед в браузере будет иметь следующий код:

Ответ:

 (1) void CWebBrowseView::OnNavigateHome() { GoHome(); } 

 (2) void CWebBrowseView::OnNavigateNext() { GoForward(); } 

 (3) void CWebBrowseView::OnNavigateBack() { GoBack(); } 


Номер 3
Обработчик команды переход на начальную страницу будет иметь следующий код:

Ответ:

 (1) void CWebBrowseView::OnNavigateHome() { GoHome(); } 

 (2) void CWebBrowseView::OnNavigateNext() { GoForward(); } 

 (3) void CWebBrowseView::OnNavigateBack() { GoBack(); } 


Упражнение 11:
Номер 1
Какая функция класса CHtmlView направляет пользователя на предыдущую Web-страницу?

Ответ:

 (1) GoForward() 

 (2) GoBack() 

 (3) GoHome() 


Номер 2
Какая функция класса CHtmlView направляет пользователя на последующую Web-страницу?

Ответ:

 (1) GoForward() 

 (2) GoBack() 

 (3) GoHome() 


Номер 3
Какая функция класса CHtmlView направляет пользователя на начальную страницу браузера?

Ответ:

 (1) GoForward() 

 (2) GoBack() 

 (3) GoHome() 


Упражнение 12:
Номер 1
Какой класс, из ниже перечисленных, позволяет создавать однодокументные или многодокументные приложения с возможностью просмотра HTML-документов?

Ответ:

 (1) CHtmlView 

 (2) CWebBrowseView 

 (3) CDialogBar 


Номер 2
Какие классы используют для работы с GDI-объектами?

Ответ:

 (1) WM_PAINT 

 (2) CBitmap 

 (3) CFont 

 (4) CClientDC 

 (5) CRGN 


Номер 3
Какие классы используют для работы со списками?

Ответ:

 (1) WM_PAINT 

 (2) CObList 

 (3) CFont 

 (4) CClientDC 

 (5) CStringList 




Главная / Программирование / Практикум прикладного программирования на MFC и C++ в среде VS.NET / Тест 21