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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 !