<div dir="ltr">Hola Rubén,<div><br></div><div>Creo que lo que quieres hacer es lo que yo llamo un panel, que quede dentro de la ventana principal. Para esto, necesitas usar un cuadro de diálogo sin modo, por lo que debes usar 'CreateDialogParam()' - y no 'DialogBoxParam()' - para crear tal cuadro de diálogo. De esta manera, el cuadro de diálogo no bloquea las demás ventanas y se ejecuta en paralelo con las demás ventanas, como la principal. Como este cuadro de diálogo actúa como un control, usa el estilo 'DS_CONTROL' cuando crees el cuadro de diálogo. Típicamente, un panel no tiene una barra de título, por lo que puedes eliminar esos estilos de ventana.</div><div><br></div><div>Si requieres una ventana dentro de otra y que sea completamente personalizada; o sea, como una ventana principal dentro de otra ventana principal, entonces investiga MDI: Interfaz de Múltiples Documentos. Básicamente, hay que crear dos ventanas como si fueren principales, pero una es la principal o "marco", y la otra es una ventana hija que se llama la "cliente"; obviamente, puede haber más de una ventana cliente. La preparación tiene algunas diferencias, pero al final los procedimientos de ventana se codifican de igual manera.</div><div><br></div><div><br></div><div>Espero que todo esto te oriente.</div><div><br></div><div>Steven<br></div><div><br></div><div><br><div class="gmail_quote"><div dir="ltr">On Sun, Oct 28, 2018 at 1:08 PM Rubén Blanco Fernández <<a href="mailto:darkmalka@hotmail.com" target="_blank">darkmalka@hotmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div dir="ltr">
<div id="m_-6710595474773955902m_7480010975782184841divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif" dir="ltr">
<p style="margin-top:0;margin-bottom:0"></p>
<div id="m_-6710595474773955902m_7480010975782184841divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols" dir="ltr">
<p style="margin-top:0;margin-bottom:0"></p>
<div id="m_-6710595474773955902m_7480010975782184841divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols" dir="ltr">
<p style="margin-top:0;margin-bottom:0">Buenas otra vez,</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Sigo trasteando con winapi y lo llevaba bastante bien hasta ahora.</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Cada ventana hija la iba construyendo como una ventana emergente, porque no tenía muy claro como hacerlo y como llevo muy poco con winapi, pues voy haciendo lo que entiendo evitando lo que no doy hecho.</p>
<p style="margin-top:0;margin-bottom:0">Los problemas a medida que son imprescindibles los voy resolviendo, pero me he encontrado con esto por muchas vueltas que le doy no termino de encontrar la forma.</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Lo que quiero es poner la ventana emergente como una hija de la principal, la de la foto. Voy a pegar el código omitiendo muchas cosas porque son muchas lineas, espero no quitar nada importante...</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0"><span style="color:rgb(0,111,201);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><span style="color:rgb(0,0,0)">Empece
 a mover las cosas de DlgProcchild1 </span></span><span style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">y WindowProcedure
 a <span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">WndProcchild1. <span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">DlgProcchild1
 no debe existir y sustituyento <span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">
DS_MODALFRAME | WS_POPUP por WS_CHILD he </span>conseguido ponerla en el sitio, pero no funciona nada en toda la aplicación, ni siquiera puedo cerrarla.</span></span></span><br>
</p>
<p style="margin-top:0;margin-bottom:0"><span style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><br>
</span></span></span></p>
<p style="margin-top:0;margin-bottom:0"><span style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">Un
 saludo y gracias</span></span></span></p>
<p style="margin-top:0;margin-bottom:0"><span style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><br>
</span></span></span></p>
<p style="margin-top:0;margin-bottom:0"><span style="color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><br>
</span></span></span></p>
<p style="margin-top:0;margin-bottom:0">//ventana principal</p>
<p style="margin-top:0;margin-bottom:0"></p>
<div>LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)</div>
<div>{</div>
<div>    static DATOS Datos;</div>
<div>    static HINSTANCE hInstance;</div>
<div><span style="font-size:12pt">    switch (msg)</span><br>
</div>
<div>    {</div>
<div>        case WM_CREATE:</div>
<div>        <span style="white-space:pre-wrap"></span>//pongo los valores iniciales de la estructura datos</div>
<div>        case WM_COMMAND:</div>
<div><span style="color:rgb(0,111,201)">           if(LOWORD(wParam) == CM_OPENTESTER)</span></div>
<div><span style="color:rgb(0,111,201)">              </span><span style="color:rgb(0,111,201)">DialogBoxParam(hInstance, "DialogoPrueba", hwnd, DlgProcchild1, (LPARAM)&Datos); //he probado a meter <span style="color:rgb(0,111,201);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">DialogBoxParam
 en el create de <span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px">WndProcchild1 </span></span></span></div>
<div>           break;</div>
<div>        case WM_DESTROY:</div>
<div>           PostQuitMessage(0);  </div>
<div>           break;</div>
<div>        default:</div>
<div>           return DefWindowProc(hwnd, msg, wParam, lParam);</div>
<div>    }</div>
<div><br>
</div>
<div><br>
</div>
<div>    return 0;</div>
<div>}</div>
<div><br>
</div>
<div><span style="color:rgb(0,111,201)">//ventana emergente</span></div>
<div>BOOL CALLBACK DlgProcchild1(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)</div>
<div>{</div>
<div>    static DATOS *Datos;</div>
<div><br>
</div>
<div>    switch (msg) </div>
<div>    {</div>
<div>        case WM_INITDIALOG:</div>
<div><span style="white-space:pre-wrap"></span><span style="color:rgb(0,111,201)">//Configuro el estado inicial de los elementos con valores de la estructura datos </span>       </div>
<div>        case WM_COMMAND:</div>
<div>           switch(LOWORD(wParam)) </div>
<div><span style="white-space:pre-wrap"></span>   {</div>
<div> <span style="white-space:pre-wrap"> </span><span style="color:rgb(0,111,201)">//Aquí tengo todas las acciones de los elemento de la ventana emergente</span></div>
<div>           }</div>
<div>    }</div>
<div>    return FALSE;</div>
<div>}</div>
<div><span style="color:rgb(0,111,201)">//ventana hija</span></div>
<div>LRESULT CALLBACK WndProcchild1 (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)</div>
<div>{</div>
<div>    switch (message){</div>
<div>        case WM_CREATE:</div>
<div><br>
</div>
<div>            return 0;</div>
<div>        case WM_DESTROY:</div>
<div>            PostQuitMessage(0);</div>
<div>            return 0;</div>
<div>    }</div>
<div><span style="font-size:12pt">    return DefWindowProc(hwnd, message, wParam, lParam);</span><br>
</div>
<div>}</div>
<div><br>
</div>
<div><span style="color:rgb(0,111,201)">//resource.rc</span></div>
<div>DiagSymData DIALOG 0, 0, 250, 285</div>
<div>STYLE DS_MODALFRAME | <span style="color:rgb(0,111,201)">WS_POPUP</span> | WS_VISIBLE | WS_CAPTION   <span style="font-size:12pt">//</span><span style="color:rgb(0,111,201)">WS_POPUP</span><span style="color:rgb(0,111,201)"> lo he sustituido
 por WS_CHILD y se pone en su sitio, pero no funciona nada.</span></div>
<div><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px;color:rgb(0,111,201)"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;font-size:16px"></span></span></span></div>
<div>CAPTION "Symbol Data"</div>
<div>FONT 10, "Helv"</div>
<div>BEGIN</div>
<div><span style="color:rgb(0,111,201)">//todos los elementos del panel con los respectivos #define en la cabecera</span></div>
<div>END</div></div></div></div></div></blockquote><div><br></div></div></div></div>