Стандартные командные идентификаторы и обработчики 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Стандартные командные идентификаторы и обработчики



При написании приложения документ/вид обычно нет необходимости самостоятельно писать обработчики для всех команд меню. CWinApp, CDocument, CFrameWnd и другие классы MFC содержат обработчики "по умолчанию" для типичных команд меню, вроде FileÞOpen и FileÞSave. Кроме того, каркас сгенерированного приложения по умолчанию обеспечивает связь команд с идентификаторами вроде ID_FILE_OPEN и ID_FILE_SAVE с обработчиками "по умолчанию".

В табл. 9.4 приведены часто используемые стандартные командные идентификаторы и соответствующие командные обработчики. В столбце "Установлен?" указано, надо ли добавлять макрос карты сообщений для этого сообщения или его обработчик уже установлен в каркасе приложения. Например, у команды ID_APP_EXIT обработчик не установлен, поэтому в карту сообщений класса приложения надо добавить запись:

ON_COMMAND(ID_APP_EXIT, СWinApp::OnAppExit)

Таблица 9.4. Стандартные командные идентификаторы и обработчики

Идентификатор команды Пункт меню Обработчик "по умолчанию" Установлен?
Меню Файл
ID_FILE_NEW New CWinApp::OnFileNew Нет
ID_FILE_OPEN Open CWinApp::OnFileOpen Нет
ID_FILE_SAVE Save CDocument::OnFileSave Да
ID_FILE_SAVE_AS Save As CDocument::OnFileSaveAs Да
ID_FILE_PAGE_SETUP Page Setup Отсутствует N/A
ID_FILE_PRINT_SETUP Print Setup CWinApp::OnFilePrintSetup Нет
ID_FILE_PRINT Print CView::OnFilePrint Нет
ID_FILE_PRINT_PREVIEW Print Preview CView::OnFilePrintPreview Нет
ID_FILE_SEND_MAIL Send Mail CDocument::OnFileSendMail Нет
ID_FILE_MRU_FILE1_ N/A CWinApp::OnOpenRecentFile Да
ID_FILE_MRU_FILE16      
ID_APP_EXIT Exit CWinApp::OnAppExit Да
Меню Правка
ID_EDIT_CLEAR Clear Отсутствует N/A
ID_EDIT_CLEAR_ALL Clear All Отсутствует N/A
ID_EDIT_CUT Cut Отсутствует N/A
ID_EDIT_COPY Copy Отсутствует N/A
ID_EDIT_PASTE Paste Отсутствует N/A
ID_EDIT_PASTE_LINK Paste Link Отсутствует N/A
ID_EDIT_PASTE_SPECIAL Paste Special Отсутствует N/A
ID_EDIT_FIND Find Отсутствует N/A
ID_EDIT_REPLACE Replace Отсутствует N/A
ID_EDIT_UNDO Undo Отсутствует N/A
ID_EDIT_REDO Redo Отсутствует N/A
ID_EDIT_REPEAT Repeat Отсутствует N/A
ID_EDIT_SELECT_ALL SelectAll Отсутствует N/A
Меню Вид
ID_VIEW_TOOLBAR Toolbar CFrameWnd::OnBarCheck Да
ID_VIEW_STATUS_BAR Status Bar CFrameWnd::OnBarCheck Да
Меню Окно (есть только в MDI приложениях)
ID_WINDOW_NEW New Window CMDIFrameWnd::OnWindowNew Да
ID_WINDOW_ARRANGE Arrange All CMDIFrameWnd::OnMDIWindowCmd Да
ID_WINDOW_CASCADE Cascade CMDIFrameWnd::OnMDIWindowCmd Да
ID_WINDOW_TILE_HORZ Tile Horizontal CMDIFrameWnd::OnMDIWindowCmd Да
ID_WINDOW_TILE_VERT Tile Vertical CMDIFrameWnd::OnMDIWindowCmd Да
Меню Помощь
ID_APP_ABOUT About AppName Отсутствует N/A

В MFC для некоторых команд есть стандартные обработчики обновления:

· CFrameWnd::OnUpdateControlBarMenu для команд ID_VIEW_TOOLBAR и ID_VIEW_STATUS_BAR;

· CMDIFrameWnd::OnUpdateMDIWindowCmd для команд меню Окно.

· CDocument::OnUpdateFileSendMail для ID_FILE_SEND_MAIL.

Классы-виды CEditView и CRichEditView содержат собственные командные обработчики для команд меню Правка, но в других окнах-видах их надо добавлять самостоятельно (если они нужны).

Для своих собственных команд меню не следует использовать стандартные идентификаторы и обработчики каркаса приложения. Для стандартных команд можно заменять обработчики по умолчанию на свои собственные. Т.е. вы можете пользоваться готовыми средствами каркаса в той мере, в которой они подходят для вашего приложения.


Литература

1) Microsoft Corporation. Разработка приложений на Microsoft Visual C++ 6.0. Учебный курс: Официальное пособие Microsoft для самостоятельной подготовки. М.: "Русская Редакция", 2000. (В этом учебном пособии приведены инструкции по использованию различных возможностей MFC и среды Visual C++ 6. Некоторым недостатком является отсутствие подробной описательной части, но удачные пошаговые инструкции позволяют отработать выполнение большого количества типичных операций в Visual C++).

2) Petzold C. Programming Windows. Microsoft Press. 1990. (Наверное, самая известная книга по программированию для Windows на уровне API)

3) Prosise J. Programming Windows with MFC. Microsoft Press. 1999. (В некотором смысле, аналог книги Petzold'а, но по программированию для Windows с использованием библиотеки классов MFC. Часть лабораторных работ и лекционного материала данного курса основаны на этой книге).

4) Toth V. Visual C++ 4 Unleashed. Sams Publishing, 1996 (Учебник по программированию для Windows с использованием Visual C++ версии 4.0. Рассчитан на достаточно опытных программистов. Часть глав посвящены описанию архитектуры Windows с точки зрения программиста).

5) Вильямс А. Системное программирование в Windows 2000 для профессионалов. СПб: Питер, 2001. (В этой книге описан ряд средств, доступных в Windows 2000 на уровне API – технология COM, межпроцессное взаимодействие, работа с оболочкой и др. Интересно краткое и доступное введение в технологию COM, причем приведены исходные тексты программ, удачно иллюстрирующие описываемые понятия.)

6) Круглински Д., Уингоу С., Шеферд Дж. Программирование на Microsoft Visual C++ 6.0 для профессионалов. СПб: Питер, 2000. (Книга, напоминающая по стилю изложения пособие для самостоятельной подготовки. Подробная энциклопедия приемов практического программирования в Visual C++ и MFC.)

7) Пройдаков Э.М., Теплицкий Л.А. Англо-русский словарь по вычислительной технике, Интернету и программированию. М.: "Русская Редакция", 2000. (Толковый англо-русский словарь. В данном курсе на CD-ROM приведен перечень используемых терминов, сформированный в основном на основе этого словаря.)

8) Рихтер Дж. Windows для профессионалов: создание эффективных Win32-приложений с учетом специфики 64-разрядной версии Windows. СПб: Питер, 2001. (Очень известная книга, в которой описаны различные вопросы программирования для 32-разрядных версий Windows 95/NT/2000 на уровне API.)

9) Тихомиров Ю.В. Самоучитель MFC. СПб: БХВ – Санкт-Петербург, 2000. (Подробное руководство начального уровня по библиотеке MFC, в основном имеющее справочный характер.)


 

Учебно-методическое издание

 

А.А. Богуславский, С.М. Соколов

 

 

Основы программирования на языке Си++

В 4-х частях.

(для студентов физико-математических факультетов

педагогических институтов)

 

Компьютерная верстка Богуславский А.А.

Технический редактор Пономарева В.В.

Сдано в набор 12.04.2002 Подписано в печать 16.04.2002

Формат 60х84х1/16 Бумага офсетная

Печ. л. 20,5 Учетно-изд.л. ____ Тираж 100

Лицензия ИД №06076 от 19.10.2001


140410 г.Коломна, Моск.обл., ул.Зеленая, 30. Коломенский государственный педагогический институт.

       
 
 
   


 
 



Поделиться:


Последнее изменение этой страницы: 2016-08-01; просмотров: 292; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.77.114 (0.008 с.)