Redimensionner une fenêtre parente à partir d'une autre créée à la volée
Hello !
Je m'explique.
J'ai une application qui fournit à un plugin que je développe un HWND. Lors de l'initialisation du plugin, je récupère aussi le HINSTANCE. Mon problème est que lorsque je crée un nouvelle fenêtre à partir de la fenêtre parente, celle-ci n'est pas redimensionnée à la bonne taille. Si je la maximize, je vois ma fenêtre fille avec la taille adéquate, mais ça ne m'intéresse pas vraiment ;)
J'utilise un code tel que celui-ci pour initialiser ma fenêtre (ptr étant mon HWND sous la forme d'un void*) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| static LPCSTR windowClass = 0;
if (!windowClass) {
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = DefWindowProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = NULL;
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = NULL;
wcex.lpszClassName = "test";
wcex.hIconSm = NULL;
windowClass = (LPCSTR)RegisterClassEx(&wcex);
}
HWND pHwnd = CreateWindowEx (0, windowClass, "Window",
WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
0, 0, 200, 100,
(HWND)ptr, NULL, hInstance, NULL); |
J'ai tenté d'utiliser MoveWindow pour retailler la fenêtre parente, mais ça ne fonctionne pas (peut-être que la fenêtre parente n'est pas la boîte de dialogue globale qui peut s'agrandir mais le conteneur à l'intérieur de la boîte ?).
Est-ce que quelqu'un a une idée ? Pas trop l'habitude de l'API Windows :|