Bonjour,
Les deux routines présentées ci-dessous vous aident à dimensionner la console (windows) et d'y choisir une fonte avec une taille donnée.
Le fichier "ConsoleSizeFont.cpp" contient un exemple complet qui vous montre comment utiliser ces codes en créant une "animation graphique" sur la console.
Pour
afficher ou modifier la fonte (ou police) de la console:
Cliquez sur la bande de titre avec le bouton gauche de la souris > Propriétés > Police
Dimension de la console
La console est définie par un buffer de xBuf×yBuf caractères dont on en affiche xWin×yWin:
BOOL ConsoleSize(HANDLE hOut, int xWin, int yWin, int xBuf, int yBuf) {
if (xBuf < xWin) xBuf = xWin; // xWin <= xBuf
if (yBuf < yWin) yBuf = yWin; // yWin <= yBuf
if (SetConsoleScreenBufferSize(hOut, {xBuf, yBuf}) == 0) return 0;
SMALL_RECT r = {0, 0, xWin-1, yWin-1};
return SetConsoleWindowInfo(hOut, 1, &r);
}
Attention: les arguments de dimension doivent être assez grands: voir
SetConsoleScreenBufferSize function.
Fonte de la console
On choisira une fonte (ou police) à chasse fixe (monospace) telle que "Consolas" ou "Lucida Console".
BOOL ConsoleFont(HANDLE hOut, char *facename, int w, int h) {
size_t n;
CONSOLE_FONT_INFOEX fid = {sizeof(CONSOLE_FONT_INFOEX)};
if (GetCurrentConsoleFontEx(hOut, FALSE, &fid) == 0) return 0;
fid.FontFamily = FF_DONTCARE;
mbstowcs_s(&n, fid.FaceName, facename, 32);
fid.dwFontSize = {w, h};
return SetCurrentConsoleFontEx(hOut, 0, &fid);
}
Test: couleurs "animées"
Le fichier
ConsoleSizeFont.cpp du
zip montre que les deux fonctions décrites, complétées de
WriteConsoleOutputAttribute(...), permettent par exemple d'"animer" la console.
Chaque élément de couleur est formé de 2 caractères de dimension x×y où y=2*x, son apparence est donc carré.
L'augmentation la constante
Dim augmente la dimension de la console.
Bonne lecture ...
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.