Bonjour,
Les programmes qui présentent une fenêtre principale où la taille s'adapte immédiatement à une situation donnée sont relativement rares.
Voici un exemple pour Windows, adapté à l'affichage du jeu Taquin avec des nombres de colonnes et de lignes variables.
Pour ce faire, on détermine, à l'aide de AdjustWindowRect() les dimensions des bords (wBd, hBd) selon le type de fenêtre, c'est-à-dire la "différence" entre le
WindowsRect et le
ClientRect.
Puis, chaque fois que c'est nécessaire, on adapte les dimensions de la fenêtre avec
MoveWindow():
void ReSize(HWND h) {
RECT r; GetWindowRect(h, &r);
MoveWindow(h, r.left, r.top, wBd + clientWidth, hBd + clientHeight, true);
}
Dans exemple proposé dans le fichier
WinDyn.cpp, le point supérieur gauche (r.left, r.top) de la fenêtre reste immobile.
Remarque: Pour simplifier le code et pour en montrer une application à un jeu connu, on se limite à la partie
affichage du jeu Taquin.
Prochainement, j'utiliserai cet affichage avec un jeu Taquin NCxNL "complet" (sans solveur).
Bonne lecture ...