MoveWindow - Zone Cliente

Résolu
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 - 18 nov. 2005 à 14:48
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 18 nov. 2005 à 17:57
Salut,



J'ai une fenêtre windows dont je veux dimensionner la partie "utile", la zone cliente.

Or MoveWindow() redimensionne toute la fenêtre y compris les bordures.



SetWindowClientSize n'existe pas.

Comment faire sans se taper un

MoveWindow(hWnd, 0, 0, surfDesc.Width, surfDesc.Height, TRUE);

RECT rect;

GetClientRect(hWnd, &rect);

MoveWindow(hWnd, 0, 0,
2*surfDesc.Width - (rect.right-rect.left), 2*surfDesc.Height -
(rect.bottom-rect.top), TRUE);

ShowWindow(hWnd, 1);

?



Merci

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 nov. 2005 à 15:41
GetSystemMetrics() te donne les tailles de bordure, barre titre, etc...
Suffit ensuite d'un petit calcul.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
3
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
18 nov. 2005 à 17:42
Merci BruNews, en gros c'est aussi long en lignes que l'exemple ci-dessus. Je pensais qu'il existait une fonction.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 nov. 2005 à 17:57
AdjustWindowRect() est fort pratique et devrait correspondre à ce que tu cherches.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
Rejoignez-nous