FillConsoleOutputAttribute函數 來源:https://msdn.microsoft.com/en us/library/windows/desktop/ms682663(v=vs.85).aspx 作用 設置固定區域內的文本屬性,從指定的控制台屏幕緩衝區字元坐標開始。 語法 ...
FillConsoleOutputAttribute函數
來源:https://msdn.microsoft.com/en-us/library/windows/desktop/ms682663(v=vs.85).aspx
作用
設置固定區域內的文本屬性,從指定的控制台屏幕緩衝區字元坐標開始。
語法
BOOL WINAPI FillConsoleOutputAttribute(
_In_ HANDLE hConsoleOutput,
_In_ WORD wAttribute,
_In_ DWORD nLength,
_In_ COORD dwWriteCoord,
_Out_ LPDWORD lpNumberOfAttrsWritten
);
參數
hConsoleOutput
控制台屏幕緩衝區的句柄。
wAttributes
用一個位元組的WORD來指定背景顏色和文本顏色。點擊此處查詢文本屬性
nLength
指定以字元為單位、要填充格式的字元個數。(從左往右)
dwWriteCoord
使用一個 COORD 來指定要填充的控制台屏幕緩衝區起始坐標。
lpNumberOfAttrsWritten
指針指向 DWORD 變數,返回實際設置文本屬性的字元個數。
返回值
如果函數操作成功,返回值為非零值
如果函數操作失敗,返回值為零。
註意
(1)如果填充的位置達到行末,接下來將會從下一行的行首繼續開始填充;
(2)不應該先填充後輸出,因為輸出時的文本屬性會覆蓋填充時設置的文本屬性。
頭文件
Wincon.h(包括Windows.h)
示例
#include <iostream>
#include <Windows.h>
int main()
{
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
WORD wd = FOREGROUND_RED | FOREGROUND_BLUE;
DWORD written;
COORD pos = {0, 0};
printf("Hello World!\n");
FillConsoleOutputAttribute(hOut, wd, 12, pos, &written); //這句話不能放在printf的上面
CloseHandle(hOut);
getchar();
}
效果如圖所示