Основные программные блоки Windows-приложения. Часть 4.
Главная–> IT-тесты–> Тесты с ответами по IT дисциплинам–> Основные программные блоки Windows-приложения. Часть 4
Правильные ответы отмечены символом "+".

Тема: Основные программные блоки Windows-приложения. Часть 4.

1) Схему обработки сообщений от клавиатуры можно представить следующим образом:

А) клавиатура- драйвер клавиатуры - системная очередь сообщений - очередь сообщений приложения - цикл обработки сообщений - оконная процедура; +

Б) клавиатура- драйвер клавиатуры - системная очередь сообщений - очередь сообщений приложения - оконная процедура - цикл обработки сообщений;

Г) клавиатура- система прерываний - драйвер клавиатуры - системная очередь сообщений - очередь сообщений приложения - оконная процедура;

Д) клавиатура - скан-код - драйвер клавиатуры - очередь сообщений приложения - цикл обработки сообщений - оконная процедура;

2) Функция SetFocus(HWND hWnd):

А) устанавливает фокус ввода на окно hWnd, возвращая дескриптор окна, которое располагало фокусом до вызова функции; +

Б) устанавливает фокус ввода на окно hWnd, возвращая дескриптор окна, которое располагало фокусом после вызова функции;

В) устанавливает фокус ввода на окно HWND, возвращая дескриптор окна, которое располагало фокусом до вызова функции;

Г) возвращает дескриптор окна, имеющего фокус ввода в текущий момент;

3) Функция TranslateMessage():

А) преобразует аппаратные сообщения клавиатуры в символьные сообщения; +

Б) используется в цикле обработки сообщений; +

В) извлекает очередное сообщение из очереди и помещает его в структурную переменную msg;

Г) порождает сообщение WM_KEYDOUN;

4) Появление каретки в окне имеет смысл:

А) когда окно имеет фокус ввода; +

Б) при обработке сообщения WM_SETFOCUS; +

В) при обработке сообщения CREATE_CARET;

Г) после вызова функции ShowCaret;

5) Если в приложении создана пиктограмма с идентификатором IDI_FLAG в виде ресурса, то её загрузить можно:

А) полю hIcon структуры WNDCLASSEX присвоить дескриптор пиктограммы, полученный вызовом функции LoadIcon (hInstance, IDI_FLAG);

Б) полю hIcon структуры WNDCLASSEX присвоить дескриптор пиктограммы, полученный вызовом функции LoadIcon(hInstance, MAKEINTRESOURCE(IDI_FLAG)); +

В) при обработке сообщения WM_CREATE вызвать функцию LoadIcon (hInstance, IDI_FLAG);

Г) при обработке сообщения WM_CREATE вызвать функцию LoadIcon(hInstance, MAKEINTRESOURCE(IDI_FLAG));

6) Если при создании меню в виде ресурса в имени пункта меню встречается символ "амперсанд", то:

А) следующий за симовлом & символ является мнемоническим символом; +

Б) символ в имени, стоящий перед символом &, является мнемоническим;

В) это приводит к тому, что дальше в имени меню будет отображена горизонтальная разделительная линия между символами;

Г) вместо имени пункта будет отображаться горизонтальная разделительная линия;

7) Функции DeleteMenu и RemoveMenu:

А) одинаковы по своему назначению и удаляют существующий пункт меню;

Б) различаются тем, что функция DeleteMenu удаляет и уничтожает существующий пункт меню, а функция RemoveMenu только удаляет существующий пункт меню; +

В) одинаковы по своему назначению, но используются в зависимости от версии Windows;

Г) различаются тем, что функция RemoveMenu удаляет и уничтожает существующий пункт меню, а функция DeleteMenu только удаляет существующий пункт меню;

8) Функция CheckMenuItem:

А) изменяет статус пунктов меню;

Б) управляет отметкой пунктов-флажков; +

В) помещает отметку слева от пункта меню;

Г) снимает отметку слева от пункта меню;

9) К сообщениям от меню можно отнести следующие:

А) CheckMenuItem; +

Б) WM_INITMENU; +

В) WM_ INITMENUPOPUP; +

Г) WM_MENUSELECT; +

Д) WM_MENUCHECK;

Е) WM_MENUCOMMAND;

10) Если контекстное меню создано в виде ресурса и имеет идентификатор IDR_MENU_MYCONTEXT, то загрузка контекстного меню осуществляется:

А) в блоке обработки сообщения WM_CREATE; +

Б) при помощи функций LoadMenu и GetSubMenu; +

Г) если полю lpszMenuName структуры WNDCLASSEX присвоить дескриптор контекстного меню, полученный вызовом функции LoadMenu(hInstance, MAKEINTRESOURCE(IDR_MENU_MYCONTEXT));

Д) если полю lpszMenuName структуры WNDCLASSEX присвоить дескриптор контекстного меню, полученный вызовом макроса MAKEINTRESOURCE(IDR_MENU_MYCONTEXT);

11) Если контекстное меню создано в виде ресурса и имеет идентификатор IDR_MENU_MYCONTEXT, то вызов контекстного меню осуществляется:

А) при обработке сообщения WM_CONTEXTMENU; +

Б) при обработке сообщения WM_CREATEMENU;

В) при помощи вызова функции TrackPopupMenuЕх(); +

Г) при помощи вызова функции TrackPopupMenuЕх(MAKEINTRESOURCE(IDR_MENU_MYCONTEXT));

12) Создание диалогового окна и работа с ним требуют выполнения следующей последовательности действий:

А) определение шаблона диалогового окна – определение диалоговой процедуры – вызов функции создания диалогового окна – обмен данными между диалоговой процедурой и вызывающей функцией окна; +

Б) определение шаблона диалогового окна – определение диалоговой процедуры – вызов функции создания диалогового окна – обмен данными между и вызывающей функцией окна и диалоговой процедурой;

В) определение диалоговой процедуры - определение шаблона диалогового окна – вызов функции создания диалогового окна – обмен данными между диалоговой процедурой и вызывающей функцией окна;

Г) нет правильной последовательности;

13) Отличия между оконной процедурой и диалоговой процедурой состоят в том, что:

А) если диалоговая процедура не обрабатывает какое-либо сообщение, то она вызывает DefWindowProc;

Б) эти процедуры возвращают результат различного типа; +

В) диалоговая процедура не обрабатывает сообщение WM_CREATE; +

Г) если диалоговая процедура не обрабатывает какое-либо сообщение, то она возвращает значение FALSE; +

Д) вместо обработки сообщения WM_PAINT диалоговая процедура обрабатывает сообщение WM_PAINTDIALOG;

14) Для вызова на экран модального диалогового окна необходимо:

А) вызвать функцию DialogBox; +

Б) полю hInstance структуры WNDCLASSEX присвоить дескриптор модального диалогового окна, полученный вызовом макроса MAKEINTRESOURCE;

В) при обработке сообщения WM_CREATE в оконной процедуре вызвать диалоговую процедуру;

Г) нет правильного варианта;

15) Различия модального и немодального диалога состоят в следующем:

А) в создании вышеуказанных окон; +

Б) в закрытии вышеуказанных окон; +

В) в цикле обработки сообщений; +

Г) в обработке сообщения WM_PAINT;

16) Период прерывания системного таймера обычно составляет;

А) зависит от аппаратной платформы и обычно составляет около 15 мс; +

Б) не зависит от аппаратной платформы и всегда составляет 15 мс;

В) от 20 до 30 мс;

Г) нет правильного варианта;

17) Разрешение системного таймера можно получить с помощью функции:

А) GetSystemTimeAdjustment; +

Б) GetSystemTime;

В) GetTickCount;

Г) по-моему правильного ответа нет;

18) Профилировка некоторого фрагмента кода программы это:

А) получение времени работы данного кода программы; +

Б) это когда в этом коде программы используется функция SetTimer;

В) никогда не слышал(а) о таком;

Г) это когда некоторый фрагмент кода программы тестируют;

19) Разрешающая способность счётчика монитора производительности определяется:

А) его частотой, которая записывается в поле QuadPart структуры _LARGE_INTEGER; +

Б) разрешением системного таймера, которое можно узнать с помощью функции GetSystemTimeAdjustment;

В) с помощью функции QueryPerformanceCounter;

Г) с помощью функции QueryPerformanceQuadPart;