Операционная система Microsoft Windows 3.1 для программиста -том 1


Приложение DCAPS


Для проведения экспериментов и демонстрации возможностей функции GetDeviceCaps мы подготовили приложение DCAPS (листинг 4.4).

Листинг 4.4. Файл dcaps\dcaps.cpp

// ---------------------------------------- // Определение возможностей устройств // ----------------------------------------

#define STRICT #include <windows.h> #include <stdio.h> #include <string.h>

// Прототипы функций void PrintD(int, char *); void PrintH(int, char *); void PrintFlag(int, int, char *);

FILE *out; // файл для вывода HDC hdc; // идентификатор контекста char buf[80]; // рабочий буфер int i; // рабочая переменная

// =========================================== // Функция WinMain // ===========================================

#pragma argsused

int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) {

// Открываем выходной файл для вывода // текста потоком // Если открыть файл не удалось, выводим // сообщение об ошибке if ((out = fopen("devcap.txt", "wt")) == NULL) { MessageBox(NULL, "Не могу открыть файл sysmet.txt", "Ошибка", MB_OK | MB_ICONSTOP); return 1; }

// Выводим заголовок файла fputs("* ============================ *\n", out); fputs("* DCAPS, (C) Frolov A.V., 1994 *\n", out); fputs("* ============================ *\n\n", out);

// Создаем контекст устройства для дисплея hdc = CreateDC("DISPLAY", NULL, NULL, NULL);

// Выводим основные характеристики устройства

PrintH(DRIVERVERSION, "DRIVERVERSION"); PrintD(ASPECTX, "ASPECTX "); PrintD(ASPECTXY, "ASPECTXY "); PrintD(ASPECTY, "ASPECTY "); PrintD(BITSPIXEL, "BITSPIXEL "); PrintD(COLORRES, "COLORRES "); PrintD(HORZRES, "HORZRES "); PrintD(HORZSIZE, "HORZSIZE "); PrintD(LOGPIXELSX, "LOGPIXELSX "); PrintD(LOGPIXELSY, "LOGPIXELSY "); PrintD(NUMBRUSHES, "NUMBRUSHES "); PrintD(NUMCOLORS, "NUMCOLORS "); PrintD(NUMFONTS, "NUMFONTS "); PrintD(NUMMARKERS, "NUMMARKERS "); PrintD(NUMPENS, "NUMPENS "); PrintD(NUMRESERVED, "NUMRESERVED "); PrintD(PDEVICESIZE, "PDEVICESIZE "); PrintD(PLANES, "PLANES "); PrintD(SIZEPALETTE, "SIZEPALETTE "); PrintD(VERTRES, "VERTRES "); PrintD(VERTSIZE, "VERTSIZE ");




Начало  Назад  Вперед



Книжный магазин