本文整理汇总了C++中FillConsoleOutputAttribute函数的典型用法代码示例。如果您正苦于以下问题:C++ FillConsoleOutputAttribute函数的具体用法?C++ FillConsoleOutputAttribute怎么用?C++ FillConsoleOutputAttribute使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了FillConsoleOutputAttribute函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: clrscr
void clrscr() {
HANDLE hConsole = GetStdHandle( STD_OUTPUT_HANDLE );
COORD coordScreen = { 0, 0 };
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo( hConsole, &csbi );
DWORD dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
DWORD cCharsWritten;
FillConsoleOutputCharacter( hConsole, (TCHAR) ' ', dwConSize, coordScreen, &cCharsWritten );
GetConsoleScreenBufferInfo( hConsole, &csbi );
FillConsoleOutputAttribute( hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten );
SetConsoleCursorPosition( hConsole, coordScreen );
}
示例2: Clear
// clear the console window
void Clear(HANDLE hOut)
{
CONSOLE_SCREEN_BUFFER_INFO bufInfo;
static COORD const zero = { 0, 0 };
DWORD written;
DWORD size;
GetConsoleScreenBufferInfo(hOut, &bufInfo);
size = bufInfo.dwSize.X * bufInfo.dwSize.Y;
FillConsoleOutputCharacter(hOut, 0, size, zero, &written);
FillConsoleOutputAttribute(hOut, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE, size, zero, &written);
SetConsoleCursorPosition(hOut, zero);
}
示例3: clearScreen
static void clearScreen(struct current *current)
{
COORD topleft = { 0, 0 };
DWORD n;
FillConsoleOutputCharacter(current->outh, ' ',
current->cols * current->rows, topleft, &n);
FillConsoleOutputAttribute(current->outh,
FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN,
current->cols * current->rows, topleft, &n);
SetConsoleCursorPosition(current->outh, topleft);
}
示例4: GetStdHandle
bool CHaloPrintStream::Write(const std::wstring& str)// str usually has endl appended
{
if (str.size() == 0) return true;
bool ready = *(bool*)UlongToPtr(ADDR_CONSOLEREADY);
if (!ready) {
std::wcout << str;
return true;
}
// Prepare for writing the string
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD written = 0;
CONSOLE_SCREEN_BUFFER_INFO info;
SHORT oldX = 0; // used to set cursor back to old position
// Get current console position info
GetConsoleScreenBufferInfo(hConsole, &info);
oldX = info.dwCursorPosition.X;
// Set cursor to start of the last row (where we want to start writing)
info.dwCursorPosition.X = 0;
info.dwCursorPosition.Y = 299;
SetConsoleCursorPosition(hConsole, info.dwCursorPosition);
FillConsoleOutputCharacterA(hConsole, ' ', 95, info.dwCursorPosition, &written);
FillConsoleOutputAttribute(hConsole, 7, 95, info.dwCursorPosition, &written);
// Write the text
WriteConsoleW(hConsole, str.c_str(), str.size(), &written, NULL);
//WriteConsoleW(hConsole, L"\n", 1, &written, NULL);
// Get the current text in the console
LPBYTE ptr = (LPBYTE)ADDR_CONSOLEINFO;
if (*ptr != 0) {
// Build current command input
std::string formatted = "halo( ";
formatted += (char*)UlongToPtr(*(DWORD*)ptr + OFFSET_CONSOLETEXT); // current text
// Rewrite the data to console
GetConsoleScreenBufferInfo(hConsole, &info);
FillConsoleOutputCharacterA(hConsole, ' ', 95, info.dwCursorPosition, &written);
WriteConsoleOutputCharacterA(hConsole, formatted.c_str(), formatted.size(), info.dwCursorPosition, &written);
// Set the cursor to its old position
GetConsoleScreenBufferInfo(hConsole, &info);
info.dwCursorPosition.X = oldX;
SetConsoleCursorPosition(hConsole, info.dwCursorPosition);
}
return true;
}
示例5: SetBackgroundColour
void Console::SwitchBackgroundColour( const int colour )
{
SetBackgroundColour(colour);
// Number of cells in current buffer
int console_size = mConsoleInfo.dwSize.X * mConsoleInfo.dwSize.Y;
DWORD cCharsWritten;
COORD coordScreen = { 0, 0 };
GetConsoleScreenBufferInfo(mConsoleHandle, &mConsoleInfo);
// Set buffer attributes
FillConsoleOutputAttribute( mConsoleHandle, mConsoleInfo.wAttributes,
console_size, coordScreen, &cCharsWritten );
}
示例6: findCursorPos
// Erases everything from the cursor position to the end
bool Console::eraseFromCursorToEnd(void)
{
cout.flush();
findCursorPos();
DWORD numCharactersWritten;
COORD consoleCoords = {xPos, yPos};
FillConsoleOutputCharacter(consoleHandle, ' ', (25 - yPos) * 80 + (80 - xPos), consoleCoords, &numCharactersWritten);
FillConsoleOutputAttribute(consoleHandle, consoleInfo.wAttributes, (25 - yPos) * 80 + (80 - xPos), consoleCoords, &numCharactersWritten);
setCursorPos(xPos, yPos);
cout.flush();
return true;
}
示例7: DrawFileSystemList
VOID
DrawFileSystemList(
IN PFILE_SYSTEM_LIST List)
{
PLIST_ENTRY ListEntry;
PFILE_SYSTEM_ITEM Item;
COORD coPos;
DWORD Written;
ULONG Index = 0;
CHAR Buffer[70];
ListEntry = List->ListHead.Flink;
while (ListEntry != &List->ListHead)
{
Item = CONTAINING_RECORD(ListEntry, FILE_SYSTEM_ITEM, ListEntry);
coPos.X = List->Left;
coPos.Y = List->Top + (SHORT)Index;
FillConsoleOutputAttribute(StdOutput,
FOREGROUND_WHITE | BACKGROUND_BLUE,
sizeof(Buffer),
coPos,
&Written);
FillConsoleOutputCharacterA(StdOutput,
' ',
sizeof(Buffer),
coPos,
&Written);
if (Item->FileSystemName)
{
if (Item->QuickFormat)
snprintf(Buffer, sizeof(Buffer), MUIGetString(STRING_FORMATDISK1), Item->FileSystemName);
else
snprintf(Buffer, sizeof(Buffer), MUIGetString(STRING_FORMATDISK2), Item->FileSystemName);
}
else
snprintf(Buffer, sizeof(Buffer), MUIGetString(STRING_KEEPFORMAT));
if (ListEntry == &List->Selected->ListEntry)
CONSOLE_SetInvertedTextXY(List->Left,
List->Top + (SHORT)Index,
Buffer);
else
CONSOLE_SetTextXY(List->Left,
List->Top + (SHORT)Index,
Buffer);
Index++;
ListEntry = ListEntry->Flink;
}
}
示例8: clrscr
void clrscr ( void ) // efface l'écran
{
HANDLE hstdout = STDOUT;
CONSOLE_SCREEN_BUFFER_INFO csbi;
if (GetConsoleScreenBufferInfo (hstdout, &csbi))
{
COORD coordScreen = { 0, 0 };
DWORD cCharsWritten;
DWORD dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
FillConsoleOutputCharacter (hstdout, ' ', dwConSize, coordScreen, &cCharsWritten);
FillConsoleOutputAttribute (hstdout, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten);
SetConsoleCursorPosition (hstdout, coordScreen);
}
}
示例9: setCursorPos
// Clears the entire screen
bool Console::clearScreen(void)
{
cout.flush();
setCursorPos(0, 0);
DWORD numCharactersWritten;
COORD consoleCoords = {0, 0};
GetConsoleScreenBufferInfo(consoleHandle, &consoleInfo);
FillConsoleOutputCharacter(consoleHandle, ' ', consoleInfo.dwSize.X * consoleInfo.dwSize.Y, consoleCoords, &numCharactersWritten);
FillConsoleOutputAttribute(consoleHandle, consoleInfo.wAttributes, consoleInfo.dwSize.X * consoleInfo.dwSize.Y, consoleCoords, &numCharactersWritten);
setCursorPos(0, 0);
cout.flush();
return true;
}
示例10: xsetupconsole
LVAL xsetupconsole()
{
HWND mywin;
HANDLE myhandle;
COORD winsize, origin;
WORD textattrib;
DWORD n;
mywin = GetForegroundWindow();
SetConsoleTitle("Nyquist");
myhandle = GetStdHandle(STD_OUTPUT_HANDLE);
origin.X = 0;
origin.Y = 0;
winsize.X = 100;
winsize.Y = 40;
textattrib = BACKGROUND_RED | BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_INTENSITY;
FillConsoleOutputAttribute(myhandle, textattrib, winsize.X * winsize.Y, origin, &n);
SetConsoleScreenBufferSize(myhandle, winsize);
FillConsoleOutputAttribute(myhandle, textattrib, winsize.X * winsize.Y, origin, &n);
SetConsoleTextAttribute(myhandle, textattrib);
return NIL;
}
示例11: ClearScreen
// clear console screen
void ClearScreen() {
COORD coordScreen = { 0, 0 };
DWORD cCharsWritten;
CONSOLE_SCREEN_BUFFER_INFO csbi;
DWORD dwConSize;
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hConsole, &csbi);
dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
FillConsoleOutputCharacter(hConsole, TEXT(' '), dwConSize, coordScreen, &cCharsWritten);
GetConsoleScreenBufferInfo(hConsole, &csbi);
FillConsoleOutputAttribute(hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten);
SetConsoleCursorPosition(hConsole, coordScreen);
}
示例12: scroll_to_top
void scroll_to_top(CONSOLE_SCREEN_BUFFER_INFO &csbi)
{
COORD topLeft = { 0, 0 };
HANDLE hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD written;
GetConsoleScreenBufferInfo(hConsoleOut, &csbi);
FillConsoleOutputCharacterA(hConsoleOut, ' ', csbi.dwSize.X * csbi.dwSize.Y, topLeft, &written);
FillConsoleOutputAttribute(hConsoleOut, FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE,
csbi.dwSize.X * csbi.dwSize.Y, topLeft, &written);
SetConsoleCursorPosition(hConsoleOut, topLeft);
}
示例13: WCEL_Update
static inline void WCEL_Update(WCEL_Context* ctx, int beg, int len)
{
int i, last;
DWORD count;
WCHAR tmp[2];
/* bare console case is handled in CONSOLE_ReadLine (we always reprint the whole string) */
if (!ctx->shall_echo || !ctx->can_pos_cursor) return;
for (i = last = beg; i < beg + len; i++)
{
if (ctx->line[i] < ' ')
{
if (last != i)
{
WriteConsoleOutputCharacterW(ctx->hConOut, &ctx->line[last], i - last,
WCEL_GetCoord(ctx, last), &count);
FillConsoleOutputAttribute(ctx->hConOut, ctx->csbi.wAttributes, i - last,
WCEL_GetCoord(ctx, last), &count);
}
tmp[0] = '^';
tmp[1] = '@' + ctx->line[i];
WriteConsoleOutputCharacterW(ctx->hConOut, tmp, 2,
WCEL_GetCoord(ctx, i), &count);
FillConsoleOutputAttribute(ctx->hConOut, ctx->csbi.wAttributes, 2,
WCEL_GetCoord(ctx, i), &count);
last = i + 1;
}
}
if (last != beg + len)
{
WriteConsoleOutputCharacterW(ctx->hConOut, &ctx->line[last], i - last,
WCEL_GetCoord(ctx, last), &count);
FillConsoleOutputAttribute(ctx->hConOut, ctx->csbi.wAttributes, i - last,
WCEL_GetCoord(ctx, last), &count);
}
}
示例14: cls
void Console::cls()
{
COORD coordScreen = { 0, 0 }; // home for the cursor
DWORD cCharsWritten;
CONSOLE_SCREEN_BUFFER_INFO csbi;
DWORD dwConSize;
// Get the number of character cells in the current buffer.
if( !GetConsoleScreenBufferInfo( hConsole, &csbi ))
{
return;
}
dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
// Fill the entire screen with blanks.
if( !FillConsoleOutputCharacter( hConsole, // Handle to console screen buffer
(TCHAR) ' ', // Character to write to the buffer
dwConSize, // Number of cells to write
coordScreen, // Coordinates of first cell
&cCharsWritten ))// Receive number of characters written
{
return;
}
// Get the current text attribute.
if( !GetConsoleScreenBufferInfo( hConsole, &csbi ))
{
return;
}
// Set the buffer's attributes accordingly.
if( !FillConsoleOutputAttribute( hConsole, // Handle to console screen buffer
csbi.wAttributes, // Character attributes to use
dwConSize, // Number of cells to set attribute
coordScreen, // Coordinates of first cell
&cCharsWritten )) // Receive number of characters written
{
return;
}
// Put the cursor at its home coordinates.
SetConsoleCursorPosition( hConsole, coordScreen );
}
示例15: erase_at
static void
erase_at(COORD coordCursor, int length)
{
W32_CHAR blank = ' ';
DWORD written;
FillConsoleOutputCharacter(
hConsoleOutput, blank, length,
coordCursor, &written
);
FillConsoleOutputAttribute(
hConsoleOutput, currentAttribute, length,
coordCursor, &written
);
}