Tu as vu cette déclaration de structure en haut, elle ne sert qu'à indiquer au compilo comment (à quel offset) récupérer l'élément demandé, bien pour cela que je reprends stricto l'ordre et le type des params reçus en entrée, ainsi offsets seront toujours valables. La fonction affichant un dialog modal, aucun risque que les params soient dépilés et donc adresses invalides.
Résultat des courses, je n'empile absolument rien, tout benef.
emiaille
Messages postés11Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention11 mars 2007 9 oct. 2006 à 13:49
Je cherchais justement un exemple depuis un bon moment, à telle point que je commencais à croire que c'était impossible.
Merci.
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 9 oct. 2006 à 11:29
Comment tu fais pour récupérer ta structure en passant seulement le paramètre &howner dans ta fonction DialogBoxParam
9 oct. 2006 à 14:54
HWND howner;
TCHAR *psztitle;
TCHAR *pszinfo;
} BNDLGPARAM, *LPBNDLGPARAM;
Tu as vu cette déclaration de structure en haut, elle ne sert qu'à indiquer au compilo comment (à quel offset) récupérer l'élément demandé, bien pour cela que je reprends stricto l'ordre et le type des params reçus en entrée, ainsi offsets seront toujours valables. La fonction affichant un dialog modal, aucun risque que les params soient dépilés et donc adresses invalides.
Résultat des courses, je n'empile absolument rien, tout benef.
9 oct. 2006 à 13:49
Merci.
9 oct. 2006 à 11:29
nt __stdcall ShowDlgDll(HWND howner, TCHAR *psztitle, TCHAR *pszinfo)
{
return DialogBoxParam(thismod, MAKEINTRESOURCE(IDD_DLGDLL), howner, DllDlgProc, (LPARAM) &howner);
}
case WM_INITDIALOG:
SetWindowText(hdlg, ((LPBNDLGPARAM) lParam)->psztitle);
SetDlgItemText(hdlg, IDST_INFO, ((LPBNDLGPARAM) lParam)->pszinfo);
return 1;