Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 214


Демонстрационная программа

Перед тем, как привести текст демонстрационной программы, мне бы хотелось обратить внимание читателя на одну тонкость. Программы, которые мы рассматривали до сих пор, являлись оконными программами. Я не давал никаких пояснений по поводу их компиляции. Но та програм­ма, которую мы будем разбирать сейчас, не имеет собственного гра­фического интерфейса, т. е. оконной программой не является, а следова­тельно, и компилировать ее нужно несколько иным способом. Предлагаю читателю обратиться к руководству по той системе, с которой он работа­ет, и выяснить, каким образом можно скомпилировать консольную программу. Если читатель паче чаяния работает с Borland C++ 5.0 в IDE, то ему при создании нового проекта в TargetExpert необходимо изменить TargelMode с GU! на Console.

256

Сделано? Тогда листинг демонстрационной программы перед вами:

#include <windows.h>

#includc <stdio.h> mainQ {

HANDLE hStdlnputHandle, hStdOutputHandle;

COORD Coord;

char cMyString[255] = "This is our first console program! It's working !";

DWORD dwResult;

FreeConsoleQ;

AllocConsoleQ;

SetConsoleTitle("ConsoIe Demonstration program");

hStdlnputHandle = GetStdHandle(STD_lNPUT HANDLE);

hStdOutputHandle = GetStdHandle(STD_OUTPUT_HANDLE);

Coord.X = (80 - strlen(cMyString)) / 2;

Coord. Y= 12;

SetConsoleCursorPosition(hStdOutputHandle, Coord);

SetConsoleTextAttribute(hStdOutputHandle, FOREG ROUNDJIED |

BACKGROUND_RED | BACKGROUND_BLUE | BACKGROUND_GREEN FOREGROUNDJNTENSITY | BACKGROUNDJNTENSITY);

WriteConsole( hStdOutputHandle, cMyString, strlen(cMyString), &dwResult, NULL); SetConsoleTextAttribute(hStdOutputHandlc, 0); getchar();

SetConsoleCursorPosition(hStdOutputHandle, Coord); WriteConso!e(hStdOutputHandle, cMyString, strlen(cMyString),

&dwResult, NULL); Coord.X = 0; Coord.Y= 12;

SetConsolcCursorPosition(hStdOutputHandle, Coord); SetConsoleTextAttribute(hStdOutputHandle, FOREGROUND_RED [

FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY); WriteConsolefhStdOutputHandle, "Type some letters and press Enter, please: ",




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



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