[C con Clase] Parámetro lParam en un DialogBoxParam
Juan Pedro Mermoz
jpmermoz en hotmail.com
Lun Nov 30 14:40:23 CET 2009
Hola! Tengo el sig problema enviando como parámetro una variable.
La variable que estoy enviando es "id" y es un entero, se envia desde el main de la sig forma:
DialogBoxParam(GetModuleHandle(NULL), "MODIFICARCONTACTO", hDlg, DlgProcModificar, (LPARAM) id);
El problema es que la variable es utilizable dentro de la función solo en el case WM_INITDIALOG, si la quiero reutilizar en WM_COMMAND, la variable ya tiene otro contenido, lo raro es que en ningún momento la modifico.
También probé crear otra variable e igualarla a "id" para poder usarla pero ocurre lo mismo. Sólo es utilizable en WM_INITDIALOG.
Para que se entienda un poco mejor, la funcion seria asi:
BOOL CALLBACK DlgProcModificar(HWND hDlg, UINT mensaje, WPARAM wParam, LPARAM id)
{
switch (mensaje)
{
case WM_INITDIALOG:
/////
//En este punto, id muestra bien su contenido
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case ID_BUTTON:
/////
//Ahora si uso un MessageBox para mostrar id, muestra otra cosa
break;
}
return TRUE;
}
return FALSE;
}
Aclaro tambien que intenté realizar casteos de la variable para convertirla a int y despues usarla, pero tampoco sirvio, y tambien utilicé sprintf para convertirla a un texto estático y tampoco..
Espero que puedan darme una mano
Saludos y gracias!
Juan Pedro
Más información sobre la lista de distribución Cconclase