<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE></TITLE>
<META http-equiv=Content-Type content=text/html;charset=ISO-8859-1>
<META content="MSHTML 6.00.2900.3157" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY text=#000000 bgColor=#ffffff>
<DIV><FONT face=Verdana>Hola.</FONT></DIV>
<DIV><FONT face=Verdana></FONT> </DIV>
<DIV><FONT face=Verdana>Este link te puede ayudar: <A
href="http://msdn2.microsoft.com/en-us/library/ms632598.aspx">http://msdn2.microsoft.com/en-us/library/ms632598.aspx</A></FONT></DIV>
<DIV><FONT face=Verdana></FONT> </DIV>
<DIV><FONT face=Verdana>La idea es definirte una nueva clase para la nueva
ventana (puede tener otra función para procesar los mensajes, otro color de
fondo, cursor, etc.) con la variable WNDCLASSEX y registrarla, tal y como se
hace para la ventana principal. Usar la función CreateWindowEx para crear la
nueva ventana y sólo necesitas también la instancia de la aplicación. Tienes dos
opciones:</FONT></DIV>
<DIV><FONT face=Verdana></FONT> </DIV>
<DIV><FONT face=Verdana>1.- Usa una variable global y asignala en la función
WinMain. Poco recomendable.</FONT></DIV>
<DIV><FONT face=Verdana></FONT> </DIV>
<DIV><FONT face=Verdana>2.- Dentro del CALLBACK de la ventana principal añade el
mensaje WM_CREATE y almacenalá en una variable estática. De esta manera dentro
de ese CALLBACK podrás crear una ventana nueva, por ejemplo al procesar el
mensaje WM_COMMAND de un botón.</FONT></DIV>
<DIV><FONT face=Verdana></FONT> </DIV>
<DIV><FONT face=Verdana>LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT
message, WPARAM wParam, LPARAM lParam)<BR>{<BR> static
HINSTANCE hInstance;<BR> HWND hBoton;<BR>
<BR> switch
(message)
/* handle the messages */<BR>
{<BR> case
WM_CREATE:<BR>
hInstance =
((LPCREATESTRUCT)lParam)->hInstance;<BR>
hBoton = CreateWindowEx( 0, "BUTTON", "Crear otra ventana", WS_CHILD | WS_BORDER
|
WS_VISIBLE,<BR>
100, 100, 80, 30, hwnd, (HMENU)CM_BUTTON, hInstance, NULL );
<BR>
break;<BR> case
WM_COMMAND:<BR>
if( LOWORD( wParam ) == CM_BUTTON
) <BR> MessageBox(
hwnd, "Se ha pulsado el botón", "Aviso", MB_OK
);<BR>
break;<BR> case
WM_DESTROY:<BR>
PostQuitMessage (0); /* send a WM_QUIT to
the message queue
*/<BR>
break;<BR>
default:
/* for messages that we don't deal with
*/<BR> return
DefWindowProc (hwnd, message, wParam, lParam);<BR>
}</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Verdana> return 0;<BR>}</FONT></DIV>
<DIV><FONT face=Verdana></FONT> </DIV>
<DIV><FONT face=Verdana></FONT> </DIV>
<DIV><FONT face=Verdana>Un saludo.</FONT></DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=sebastianoldani@gmail.com
href="mailto:sebastianoldani@gmail.com">sebastianoldani</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A
title=cconclase@listas.conclase.net
href="mailto:cconclase@listas.conclase.net">Lista de correo sobre C y C++</A>
</DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Wednesday, September 05, 2007 2:54
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [C con Clase] 2
Ventanas</DIV>
<DIV><BR></DIV>Hola, estoy usando windows, estoy programando con el api de
windows directamente. Mi proximo paso es entrar calculo que con QT, no me
decidi aun.<BR>Pero si podes pasarme como seria para definir una nueva ventana
me ayudas bastante, gracias igual.<BR>bye!!!<BR><BR><BR>Ro escribió:
<BLOCKQUOTE
cite=mid:4dee68b90709042255h9a6d790y1f1d67bdc49ab414@mail.gmail.com
type="cite">Hola!<BR>¿Qué librería gráfica estás usando?, ¿wxWidgets?, ¿QT?.
Y, ¿sobre qué plataforma?, ¿GNU/Linux?, ¿Windows?, ¿Mac OSX?<BR>Si no nos
dás mas datos, es complicado...<BR><BR>Salud!<BR>Ro<BR><BR><BR>
<DIV><SPAN class=gmail_quote>El día 5/09/07, <B
class=gmail_sendername>sebastianoldani</B> <<A
href="mailto:sebastianoldani@gmail.com"
moz-do-not-send="true">sebastianoldani@gmail.com</A>> escribió:</SPAN>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Hola,
tengo una duda, como puedo hacer para que mi programita de una<BR>sola
ventana, me abra otra ventana al hacer por ejemplo un clic en
un<BR>control?<BR><BR>Tengo un programita, y quiero que al hacer clic en
un boton me cree otra <BR>ventana, donde pueda poner otros controles y
otras cosas, tengo que<BR>hacerlo si o si con un dialogbox?. No quiero
crear frames, sino ventanas<BR>y preferentemente modals.<BR><BR>Bueno,
espero me hayan entendido y me puedan ayudar, gracias.
<BR>Bye<BR><BR>_______________________________________________<BR>Lista de
correo Cconclase <A href="mailto:Cconclase@listas.conclase.net"
moz-do-not-send="true">Cconclase@listas.conclase.net</A><BR><A
href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net"
moz-do-not-send="true">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</A><BR>Bajas:
<A href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ"
moz-do-not-send="true">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</A><BR></BLOCKQUOTE></DIV><BR><PRE wrap=""><HR width="90%" SIZE=4>
_______________________________________________
Lista de correo Cconclase <A class=moz-txt-link-abbreviated href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</A>
<A class=moz-txt-link-freetext href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</A>
Bajas: <A class=moz-txt-link-freetext href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</A></PRE></BLOCKQUOTE><BR>
<P>
<HR>
<P></P>_______________________________________________<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</BLOCKQUOTE></BODY></HTML>