Сборник по задачам и примерам Assembler


Организация низкоуровнего консольного ввода-вывода - часть 7


Структура CONSOLESCREENBUFFERINFO имеет следующий вид:

typedef struct _CONSOLE_SCREEN_BUFFER_INFO

COORD dwSize: :размер экранного буфера в колонках и строках COORD dwCursorPosition: //координаты столбца и строки курсора в экранном буфере

WORD wAttributes: //цвет фона и текста, с которыми записываются

//и отображаются символы в экранном буфере функциями //WriteFile\WriteConsole и ReadFile\ReadConsole

SMALL_RECT srWindow; // определяет структуру

SMALL_RECT. которая содержит координаты // левого верхнего и нижнего правого углов экранного буфера, //видимого в окне консоли на экране дисплея COORD dwMaximumWindowSize; //определяет максимальный размер окна консоли

//с учетом текущего размера экранного буфера и шрифт } CONSOLE_SCREEN_BUFFER_INFO :

Для приложения интерес, в частности, может представлять параметр srWindow с координатами видимой части экранного буфера. Далее, руководствуясь действиями пользователя (выполняющего прокрутку окна или изменение его размера) по отношению к окну консоли, приложение может изменять значения в структуре SMALLRECT и передавать ее на вход функции SetConsoleWindowInfo, которая устанавливает текущий размер и позицию окна консоли относительно экранного буфера.

B00L SetConsoleWindowInf0ChANDLE hConsoleOutput.

B00L bAbsolute. CONST SMALL RECT *lpConsoleWindow);

Параметрами этой функции являются: .

  • hConsoleOutput — дескриптор экранного буфера, созданного функцией Create-Consol eScreenBuf fer; дескриптор должен иметь тип доступа GENERIC_WRITE;
  • bAbsol ute — определяет порядок использования координат в структуре, указанной параметром lpConsoleWindow; если bAbsol ute=l (истина), то координаты определяют новые левую верхнюю и нижнюю правую углы окна; если bAbsol ute=0 (ложь), то координаты — смещения относительно текущих координат углов окна;
  • lpConsoleWindow — указатель на структуру SMALL_RECT, в которую записывается информация о новых координатах экранного буфера.

Структура SMALL_RECT имеет следующий вид:

typedef struct _SMALL_RECT {




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



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