Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mémoire d'une dialog box

3 réponses
Avatar
Michel
Bonjour =E0 tous.

Windows donne le moyen aux fen=EAtres de garder des informations avec
GetWindowLongPtr() et SetWindowLongPtr(). Mais il faut sp=E9cifier la
taille voulue lors de la cr=E9ation de la fen=EAtre en question.
Comment proc=E8de-t-on avec une modal dialog box, qui est cr=E9=E9e =E0 prio=
ri
avec DialogBox ou DialogBoxParam?

3 réponses

Avatar
Vincent Burel
"Michel" wrote in message
news:
Bonjour à tous.

Windows donne le moyen aux fenêtres de garder des informations avec
GetWindowLongPtr() et SetWindowLongPtr(). Mais il faut spécifier la
taille voulue lors de la création de la fenêtre en question.
Comment procède-t-on avec une modal dialog box, qui est créée à priori
avec DialogBox ou DialogBoxParam?

ou DialogBoxIndirectParam... dans tous les cas vous pouvez communiquer un
pointeur via le dernier paramètre de ces fonctions et le récupérer ensuite
dans la callback au WM_INITDIALOG.

La méthode que j'utilise consiste à faire une allocation (ou avant de créer
la boite ou aprés dans le WM_INITDIALOG) et stocker le pointeur dans le
DWL_USER : SetWindowLong(hw,DWL_USER,(LONG)pointer);

VB
Avatar
Michel
On 1 juil, 08:06, "Vincent Burel"
wrote:
"Michel" wrote in message

news:
Bonjour à tous.

Windows donne le moyen aux fenêtres de garder des informations avec
GetWindowLongPtr() et  SetWindowLongPtr(). Mais il faut spécifier la
taille voulue lors de la création de la fenêtre en question.
Comment procède-t-on avec une modal dialog box, qui est créée à p riori
avec DialogBox ou DialogBoxParam?

ou DialogBoxIndirectParam... dans tous les cas vous pouvez communiquer un
pointeur via le dernier paramètre de ces fonctions et le récupérer ensuite
dans la callback au WM_INITDIALOG.

La méthode que j'utilise consiste à faire une allocation (ou avant de créer
la boite ou aprés dans le WM_INITDIALOG) et stocker le pointeur dans le
DWL_USER : SetWindowLong(hw,DWL_USER,(LONG)pointer);

VB



Merci, j'en arrive aussi à la conclusion que c'est la seule/meilleure
méthode.
Avatar
Michel
On 1 juil, 17:52, Michel wrote:
On 1 juil, 08:06, "Vincent Burel"
wrote:





> "Michel" wrote in message

>news:
> Bonjour à tous.

> Windows donne le moyen aux fenêtres de garder des informations avec
> GetWindowLongPtr() et  SetWindowLongPtr(). Mais il faut spécifier l a
> taille voulue lors de la création de la fenêtre en question.
> Comment procède-t-on avec une modal dialog box, qui est créée à priori
> avec DialogBox ou DialogBoxParam?

> ou DialogBoxIndirectParam... dans tous les cas vous pouvez communiquer un
> pointeur via le dernier paramètre de ces fonctions et le récupére r ensuite
> dans la callback au WM_INITDIALOG.

> La méthode que j'utilise consiste à faire une allocation (ou avant de créer
> la boite ou aprés dans le WM_INITDIALOG) et stocker le pointeur dans le
> DWL_USER : SetWindowLong(hw,DWL_USER,(LONG)pointer);

> VB

Merci, j'en arrive aussi à la conclusion que c'est la seule/meilleure
méthode.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Non en fait il y a aussi GWL[P]_USERDATA qui marche pour tout type de
fenêtre (pas seulement les messages boxes).