<div>Hi!!!. Muchas gracias por la respuesta, la verdad es que no sé como no me pude dar cuenta de ese error, solo agregé el "return FALSE" y me funcionó al toque, ahora me pasa algo curioso, la verdad no se si será un error, pero cuando ejecuto mi programa no solo me aparece la ventana normal, sino tambien la ventana de consola (ventana negra en modo texto), la verdad no me molesta ni nada, pero ¿es normal que salga esta ventana?, antes no me aparecia esta ventana, solo en los programas con OpenGL me salia, bueno si alguien sabe algo me avisan porfa.</div>  <div> </div>  <div>Salu2. <BR><BR><B><I>Salvador Pozo <salvador@conclase.net></I></B> escribió:</div>  <BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">Hola:<BR><BR>Hay que tener cuidado con los valores de retorno de las funciones.<BR><BR>En tu caso, si nos fijamos, los procedimientos de diálogo tienen que retornar un valor BOOL. Para el sistema, el
 valor de retorno tiene un significado importante. <BR><BR>http://winapi.conclase.net/curso/index.php?fun=DialogProc<BR><BR>Según la documentación del API:<BR>"Excepto en la respuesta al mensaje WM_INITDIALOG, el procedimiento de diálogo debe retornar con un valor no nulo si procesa el mensaje y cero si no lo hace. Cuando responde a un mensaje WM_INITDIALOG, el procedimiento debe retornar cero si llama a la función SetFocus para poner el foco a uno de los controles del cuadro de diálogo. En otro caso, debe retornar un valor distinto de cero, en ese caso el sistema pondrá el foco en el primer control del diálogo que pueda recibirlo."<BR><BR>Un valor verdadero (TRUE) indica que el procedimiento ha procesado el mensaje, y no se necesita que el sistema haga nada más al respecto.<BR><BR>Esto es lo que está pasando en tu programa con la mayoría de los mensajes (todos menos el WM_COMMAND para casos como el botón de aceptar y cancelar). De modo que el sistema no procesa, por
 ejemplo, el mensaje WM_PAINT o WM_NCPAINT, y por eso los controles aparecen "flotando".<BR><BR>En general, bastará con añadir una línea return FALSE; al final de la función, para todos los casos que no estén previstos en el switch que procesa los mensajes recibidos.<BR><BR>Hasta pronto.<BR><BR>-- <BR>Salvador Pozo (Administrador)<BR>mailto:salvador@conclase.net<BR>_______________________________________________<BR>Lista de correo Cconclase Cconclase@listas.conclase.net<BR>http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net<BR>Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ<BR></BLOCKQUOTE><BR><BR><BR><STRONG><FONT face=verdana>Entre más numerosos somos, más cerca estamos de nuestra propia extinción. <BR></FONT></STRONG><BR><FONT color=#0000ff>http://bisbirudolfo.blogspot.com/</FONT><p>


      <hr size=1><br><font face="Verdana" size="-2">Web Revelación Yahoo! 2007:<br> Premio Favorita del Público - <a href="http://es.promotions.yahoo.com/revelacion2007/favoritos/">¡Vota tu preferida!</a></font>