Writing Characters or Colors to Consecutive Cells
Characters or color attributes can be written to specified character cells in
a screen buffer. The following example uses the
WriteConsoleOutputCharacter function to write a string of characters beginning at the upper left corner
of a screen buffer. Then the example uses the
WriteConsoleOutputAttribute function to write a string of color attributes to the first 51 cells of the
same row. The
coord parameter for both functions specifies the character cell in the screen
buffer at which writing begins. The location in the console window where these
characters or colors appear depends on the current window rectangle of the screen
buffer. For additional information about the relationship between a screen buffer
and its windows, see
Window and Screen Buffer Size and
Scrolling the Screen Buffer.
HANDLE hOutput;
LPTSTR lpszString = "Character String";
DWORD cWritten;
BOOL fSuccess;
COORD coord;
WORD wColors[3], wColor;
CHAR chFillChar;
/* Write a string of characters to a screen buffer. */
coord.X = 0; /* start at first cell */
coord.Y = 0; /* of first row */
fSuccess = WriteConsoleOutputCharacter(
hOutput, /* screen buffer handle */
lpszString, /* pointer to source string */
lstrlen(lpszString), /* length of string */
coord, /* first cell to write to */
&cWritten); /* actual number written to */
if (! fSuccess)
MyErrorExit("WriteConsoleOutputCharacter");
/* Write a string of colors to a screen buffer. */
wColors[0] = BACKGROUND_RED;
wColors[1] = BACKGROUND_RED | /* white background */
BACKGROUND_GREEN |
BACKGROUND_BLUE;
wColors[2] = BACKGROUND_BLUE;
for (;fSuccess && coord.X < 50; coord.X += 3)
fSuccess = WriteConsoleOutputAttribute(
hOutput, /* screen buffer handle */
wColors, /* pointer to source string */
3, /* length of string */
coord, /* first cell to write to */
&cWritten); /* actual number written to */
if (! fSuccess)
MyErrorExit("WriteConsoleOutputAttribute");
The same character or color attribute can be written to a specified number of
consecutive screen buffer cells beginning at a specified location. The
following example uses the
FillConsoleOutputCharacter function to clear a 80-by-50-character screen buffer, and then it uses the
FillConsoleOutputAttribute function to set the color attributes of the same cells.
/* Fill an 80-by-50-character screen buffer with the space character. */
coord.X = 0; /* start at first cell */
coord.Y = 0; /* of first row */
chFillChar = ' ';
fSuccess = FillConsoleOutputCharacter(
hStdout, /* screen buffer handle */
chFillChar, /* fill with spaces */
80*50, /* number of cells to fill */
coord, /* first cell to write to */
&cWritten); /* actual number written to */
if (! fSuccess)
MyErrorExit("FillConsoleOutputCharacter");
/* Set 80-by-50-character screen buffer colors to white text on red. */
wColor = BACKGROUND_RED |
FOREGROUND_RED |
FOREGROUND_GREEN |
FOREGROUND_BLUE;
fSuccess = FillConsoleOutputAttribute(
hStdout, /* screen buffer handle */
wColor, /* color to fill with */
80*50, /* number of cells to fill */
coord, /* first cell to write to */
&cWritten); /* actual number written to */
if (! fSuccess)
MyErrorExit("FillConsoleOutputAttribute");
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database