В этом приложении мы создаем
В этом приложении мы создаем контекст отображения, вызывая функцию программного интерфейса Windows CreateDC. Затем мы вызываем знакомую вам функцию GetTextMetrics, определяющую метрики шрифта. Названия метрик и соответствующие численные значения выводятся в окно приложения функцией Print. Функция Print определена в нашем приложении и выглядит чрезвычайно просто благодаря применению для вывода функции printf.
Главное окно приложения изображено на рис. 8.4.
Рис. 8.4. Главное окно приложения EASYWIN2
Без малейших усилий с нашей стороны у окна появились вертикальная и горизонтальная полосы просмотра, с помощью которых можно увидеть целиком окно "виртуальной консоли".
Обратите внимание также на то, что мы вызываем в этой программе функцию программного интерфейса MessageBox.
А можно ли поступить наоборот - из обычного приложения Windows инициализировать интерфейс EasyWin и воспользоваться функциями консольного ввода/вывода?
Можно, именно так мы и поступили в нашем следующем приложении, которое выполняет такие нетипичные для приложений задачи, как перезагрузка компьютера или перезапуск операционной системы Windows (листинг 8.3).
Листинг 8.3. Файл easywin\easywin3.cpp
#define STRICT #include <windows.h> #include <stdio.h> #include <conio.h>
// =========================================== // Функция WinMain // =========================================== #pragma argsused int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) { BYTE szBuf[128]; int cbBufSize; BYTE ch;
// Инициализация интерфейса EasyWin _InitEasyWin();
// Получаем путь к каталогу, в котором // установлена Windows GetWindowsDirectory(szBuf, cbBufSize);
printf("Каталог Windows: %s\n\n", szBuf);
printf("Нажмите:\n\n" "R - перезапуск системы\n" "W - перезапуск Windows\n" "N - запуск Norton Commander и возврат в Windows\n\n" "или любую другую клавишу ->\n" );
ch = getch();
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий