Библиотека Mfc

Posted by admin
Библиотека mfc100u.dll

Окно, созданное простейшим приложением на MFC Результат выполнения программы показан на рис. 2. Рассмотрим программу подробнее. Для создания стандартного окна в приложении должен наследоваться класс от CFrameWnd. В данном примере он называется CMainWin. Он содержит конструктор и макрос DECLAREMESSAGEMAP.

WPF

Создание базы данных; MFC AppWizard и базы данных; Доводка приложения; Как устроено. Все действия, описанные в статье, производятся в среде MS Visual Studio 2008 (Visual Studio 9.0), но версия студии — это не так уж важно (код класса будет протестирован и в VS6), важнее то, что работа выполняется при помощи библиотеки MFC, интерфейс которой практически не меняется.

Макрос на самом деле разворачивается в декларацию карты сообщений, которая определяет, какая член-функция класса должна вызываться в ответ на сообщение Windows. Этот макрос применяется для любого окна, в котором обрабатываются сообщения.

Он должен быть последним в декларации класса. Само окно создается в конструкторе с помощью вызова функции Create. Эта функция используется почти во всех приложениях. Она выполняет действия по созданию окна. В этом примере приведен самый простой случай ее использования. Пока нам нужно знать, что второй параметр определяет заголовок окна, а первый чаще всего равен NULL. Класс CApp приложения порождается от CWinApp.

Бібліотека Mfc

Этот класс отвечает за работу программы. В примере используется член-функция со следующим прототипом: virtual BOOL CWinApp::InitInstance; Это виртуальная функция, которая вызывается каждый раз при запуске программы. В ней должны производиться все действия, связанные с инициализацией приложения. Функция должна возвращать TRUE при успешном завершении и FALSE в противном случае. В нашем случае, в функции сначала создается объект класса CMainWin, и указатель на него запоминается в переменной mpMainWnd.

Эта переменная является членом класса CWinThread. Она имеет тип CWnd.

Статья

и используется почти во всех MFC-программах, потому что содержит указатель на главное окно. В последующих двух строчках через нее вызываются функции-члены окна. Когда окно создано, вызывается функция c прототипом: BOOL CWnd::ShowWindow(int How); Параметр определяет, каким образом окно будет показано на экране. Наиболее распространенные значения следующие: Константа Действие SWHIDE Окно становится невидимым SWMAXIMIZE Окно максимизируется SWMINIMIZE Окно минимизируетс SWSHOW Окно отображается, если было невидимо SWRESTORE Окно приводится к нормальному размеру При первом вызове в качестве первого параметра функции можно подставить член mnCmdShow, в котором хранится значение кода отображения окна, переданное в программу при запуске (например, в ярлыке Windows 95 пользователь может определить, как показывать окно при запуске приложения).

Функция UpdateWindow посылает окну сообщение о том, что его содержимое нужно перерисовать. В дальнейшем мы рассмотрим этот процесс подробнее. В конце программы помещена реализация карты сообщений: BEGINMESSAGEMAP(CMainWin /.класс окна./, CFrameWnd /.класс-предок./) ENDMESSAGEMAP Первый макрос всегда имеет два параметра, первый - класс окна, второй - класс, от которого порожден класс окна. В данном примере карта сообщений пустая, то есть все сообщения обрабатывает MFC. Подробнее о создании масштабируемых окон В примере была использована функция Create, которая на самом деле имеет много параметров. Ее прототип таков: BOOL CFrameWnd::Create( LPCSTR ClassName, // Имя Windows-класса окна LPCSTR Title, // Заголовок DWORD Style = WSOVERLAPPEDWINDOW, // Стиль const RECT &XYSize = rectDefault, // Область CWnd.Parent = 0, //Окно-предок LPCSTR MenuName = 0, //Имя ресурса меню DWORD ExStyle = 0, //Расширенные стили CCreateContext.Context = 0 // Доп.

Русский

Данные ); Первый параметр, ClassName, определяет имя класса окна для оконной подсистемы Windows. Обычно его не нужно явно задавать, так как MFC выполняет всю необходимую черновую работу. В данных методических указаниях мы не будем использовать своих классов окон. Параметр Style задает стиль окна. По умолчанию создается стандартное перекрываемое окно. Можно задать свой стиль, объединив с помощью операции 'или' несколько констант из приведенных ниже: Константа Элемент окна WSOVERLAPPED Стандартное окно с рамкой WSMAXIMIZEBOX Кнопка максимизации WSMINIMIZEBOX Кнопка минимизации WSSYSMENU Системное меню WSHSCROLL Горизонтальная полоса прокрутки WSVSCROLL Вертикальная полоса прокрутки В дальнейшем мы не будем так подробно расписывать здесь все возможные значения констант, потому что всегда можно обратиться к справке Visual C и получить подробную информацию. Начальное положение и размер окна определяются параметром XYSize.

Это структура, которая определяет экранные координаты левого верхнего и правого нижнего угла прямоугольника, в котором будет отображено окно. Все остальные параметры, которые мы будем использовать, будут рассмотрены в соответствующих разделах.