|
Программирование >> Программирование на языке c++
public: ТМуАррО : TApplicationO {} void InitMainWindowO { SetMainWindow(new TFrameWindow(0, Graphics + Common Dialog Boxes , new TMyWindow)); GetMainWindowO -> AssignMenufCOMMANDS ); } }; int OwlMain(int, char*[]) { return TMyApp().Run(); } Файл ресурса gr.rc программы может быть задан в таком виде: #ifndef WORKSHOPJNVOKED #include <windows.h> #endif #include <owl\inputdia.rc> #include <owl\except.rc> #define CM CLEAR 101 #define CM RECT 102 #define CM CIRCLE 103 #define CM POLYGON 104 #define CM NEW 105 #define CM OPEN 106 #define CM SAVE 107 #define CM SAVE AS 108 #ifdef RCJNVOKED COMMANDS MENU { POPUP &Figure { MENUITEM &Clear , CM CLEAR MENUITEM &Rect , CM RECT MENUITEM &Circle , CM CIRCLE MENUITEM Polygon , CM POLYGON } POPUP &File { MENUITEM &New , CM NEW MENUITEM &Open , CM OPEN MENUITEM &Save , CM SAVE MENUITEM &Save as , CM SAVE AS } } #endif 15 B. A. Скляров 449 9.6.10. Создание стандартных файлов помощи (Windows help) Система WINDOWS позволяет создавать заказные (пользовательские) файлы помощи. Для этих целей необходимо выполнить следующие базовые шаги: > подготовить содержимое файла помощи и сохранить его в формате RTF (Rich Text Format). Здесь можно использовать любой текстовый редактор, поддерживающий этот формат, например Word для WINDOWS; > подготовить оглавление для файла помощи и сохранить его в формате RTF; > подготовить текстовый файл проекта (файл *.HLP); выполнить компиляцию файла помощи, в результате чего будет построен файл ресурса с именем *.HLP. После этого можно получать необходимую помощь из прикладной программы, используя определенные ранее активные клавиши (дополнительную информацию по этим вопросам можно найти в файле Microsoft WINDOWS cwh.hlp). 9.6.11. Общие рекомендации по использованию системы ObjectWindows Рассмотрим правила, которые являются общими для различных задач программирования [12]: > используйте компоненты-функции с именем GetXXXXX, чтобы получить что-то. Например, можно использовать функцию GetMainWindow, чтобы получить указатель на главное окно, функцию GetClientWindow, чтобы получить указатель на рабочее окно, и т.п. В результате можно иметь доступ ко многим компонентам-функциям, которые принадлежат различным классам, через указатели, возвращаемые функциями GetXXXXX (здесь ХХХХХ - символы, задающие конкретную функцию); > используйте компоненты-функции с именем SetXXXXX, чтобы установить что-то. Например, можно использовать функцию Setlcon, чтобы установить иконку из заданного ресурса; используйте компонент-функцию с именем EvCommand, чтобы упростить обработку сообщений в макро WM COMMAND, когда необходимо выбрать пункт из набора ранее определенных пунктов; используйте компоненты-функции с именем ЕпаЫеХХХХХ, чтобы включить что-то. Например, можно использовать функцию EnableKBHandler для включения ввода с клавиатуры; используйте компоненты-функции с именем DisableXXXXX, чтобы выключить что-то. Например, можно использовать функцию DisableTransfer, чтобы выключить механизм передачи данных от средств контроля; используйте компоненты-функции с именем SendXXXXX, чтобы послать что-то. Например, можно использовать функцию SendNotification, чтобы послать сообщение от окна-ребенка окну-родителю; используйте компоненты-функции с именем LoadXXXXX, чтобы загрузить что-то в память. Например, можно использовать функцию Loadlcon, чтобы загрузить иконку; аналогичные правила могут быть использованы и для других общих имен или имен с общими префиксами; когда переопределяются некоторые компоненты-функции, в теле переопределенной функции часто вызывают соответствующую системную функцию (см. функцию EvLButtonDown во втором примере, § 9.5.5); при разработке прикладных программ с использованием библиотеки ObjectWindows в первую очередь необходимо обращать внимание на следующие вопросы [12]: какие библиотечные классы необходимо использовать в программе и как их использовать; как построить иерархию классов для прикладной программы с привлечением механизмов простого и множественного наследования; как сконструировать объекты выбранных классов и как модифицировать (улучшить) их для конкретной программы; как декомпозировать (разделить) программу на части, которые можно конструировать независимо друг от друга, и как потом соединить эти части, чтобы получить законченный программный продукт.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |