Bonjour,
j'ai un problème pour stoquer 2 hwnd dans cbWndExtra.
J'utilise le système multi-fenêtre MDI,
pour pouvoir retrouver les handle de l'édit et de la status bar qu'il y a dans les fenêtres fille je mets :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part wndclass.cbWndExtra = sizeof(HWND);
ensuite pour aller stoquer le handel de l'édit je fais :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 hWndEdit = CreateWindow("EDIT", // nom de la classe NULL, // pas de titre WS_CHILD | // fenêtre fille WS_VISIBLE | // visible WS_VSCROLL | // avec défilement vertical ES_MULTILINE, // édition sur plusieurs lignes 0, 0, 0, 0, // dimension spécifiée ailleurs hWnd, // handle fenêtre parente NULL, // pas de menu hInstance, // processus propriétaire NULL); // pas de data supplémentaires SetWindowLong(hWnd, 0, (LONG)hWndEdit);// sauver handle de la fenêtre Edit
temps que j'en reste la tout va bien, j'arrive a récupèrer le handle avec :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part hWndEdit = (HWND)GetWindowLong(hWnd, 0);// récupère le handle de la fenêtre Edit
Maintenant j'aimerais sauvegarder le handle de ma status bar, et c'est la que je coince, dois-je modifier wndclass.cbWndExtra et comment utiliser GetWindowLong et SetWindowLong ?
moi je pensais doubler la taille de cbWndExtra et avec SetWindowLong passer en 2iem paramètre la taille du handle mais quand je regarde l'aide MSDN :
Mais je ne comprend pas cette fonction dans mon cas qui n'est pas le changement de style d'une fenètre.nIndex
[in] Specifies the zero-based offset to the value to be set.
Valid values are in the range zero through the number of bytes of extra window memory, minus the size of an integer.
To set any other value, specify one of the following values.
GWL_EXSTYLE
Sets a new extended window style. For more information, see CreateWindowEx.
... ... ...
DWL_USER
Sets new extra information that is private to the application, such as handles or pointers.
c'est donc ici que je bloque.
Merci à celui qui pourra m'aider.
Cordialement Gaëtan
Partager