4. Измените проект, созданный в задании 2, таким образом, чтобы он всегда занимал весь экран, независимо от текущего графического режима.

5. Измените проект MenuModifl таким образом, чтобы подменю, вызванное выбором пункта Save Off, автоматически снималось через две секунды, а подменю, вызванные щелчком мыши, исчезало при отсутствии дальнейших действий пользователя через пять секунд.

6. Вставьте в меню проекта MenuModif пункт Help, при выборе которого просматривается все дерево меню. Состав каждого подменю отображается в течение одной секунды, после чего поочередно выделяются на две секунды пункты подменю и в область сообщений выводятся строки подсказки. Для этого кроме функций LoadStringO и LoadMenuString() необходимо найти средства определения количества пунктов меню.

7. Составьте функции определения количества пунктов в меню и подменю, используя адрес размещения структуры меню в памяти.

Пуск и останов колеса в проекте MenuModif вызывается одним пунктом меню Graphics, а включение и выключение пункта Load - двумя. Измените проект таким образом, чтобы и во втором случае использовался один пункт меню, но в зависимости от ситуации изменялось его название. Задачу нужно решить двумя способами. Можно удалять и добавлять необходимый пункт меню при помощи системных функций или изменять в ОЗУ название соответствующего пункта меню. Также сравните время замены пункта в каждом варианте решения задачи.

8. Измените проект ChildWindow таким образом, чтобы дочернее окно обеспечивало ввод как пароля, так и обычной текстовой строки.

Задания для самостоятельного выполнения

9. При помощи классов Edit и Stati с нужно позволить пользователю вводить с клавиатуры строку текста в окно Edit одноименного класса Edi t. А когда пользователь нажмет клавишу Enter, щелкнет левой кнопкой мыши в родительском окне или заполнит всю область ввода, необходимо скопировать строку в окно Static и очистить окно Edit.

10. Внесите в проект MinDlg изменения, позволяющие исследовать особенности обработки модальным и немодальным диалогами сообщений от внешних устройств. Необходимо проверить, поступают ли в диалоговую функцию сообщения WM_KEYD0WN и WM_KEYUP. Также нужно проверить, совпадает ли для модального и немодального диалогов сообщение мыши, поступившее в диалоговую процедуру, с полем msg. message структуры msg.


⇐ Предыдущая| |Следующая ⇒