modification de console windows
Bonjour à tous !
Je m'entraine sur un petit programme windows en mode console.
Tout roule(couleurs et hauteur), sauf que l'affichage que je veux fixe et sans croix pour quitter, parfois, s'ouvre de manière standard (position standard et croix accessible). Cela viens sans doute du constructeur.
Ceci est le .cpp de mon affichage.
(Il ne contient que 2 membres : int font, height; qui sont les couleurs du texte et celle du background, et leurs fonctions pour les modifiers (inline))
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| #include "Display.h"
#include <string>
#include <sstream>
#include <Windows.h>
Display::Display() : font(0), text(7)
{
SetConsoleTitle("Job Manager");//Nom de la console
HWND window = FindWindow(NULL, "Job Manager");
MoveWindow(window,200, 1, 1, 1, 1);//Positionner la console
HMENU menu = GetSystemMenu(window, false);//Enlever la croix
RemoveMenu(menu, SC_CLOSE, 0);//Aussi enlever la croix
Colorize();//Mettre couleurs par défaut
Height(25);//Mettre taille par défaut
}
Display::~Display()
{}
void Display::Height(const int height)
{
std::stringstream sS;
sS << "mode con cols=80lines=" << height;//Créer la ligne pour changement de hauteur
std::string s = sS.str();
const char *entry = s.c_str();
system(entry);//Changer la hauteur
}
void Display::Colorize()
{
Colorize(font, text);
}
void Display::Colorize(const int font, const int text)
{
HANDLE screen = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(screen, (font * 16) + text);//Colorier
} |
Je ne comprends pas ce résultat hasardeux. (je ne comprends pas tout à fait non plus toutes les commandes du constructeur... :p).
Quelqu'un aurait-il une idée ?
Merci pour votre attention !