Usuario: anónimo

Usuarios en línea: 1
Invitados: 1

FAQ

Hilo

24m
winapi: poner menu en ventaja hija
U(ruben) 2018-10-28 17:00:43 Adjuntos: A 

Buenas otra vez,

Sigo trasteando con winapi y lo llevaba bastante bien hasta ahora.

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.

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.

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...

Empece a mover las cosas de DlgProcchild1 y WindowProcedure a WndProcchild1. DlgProcchild1 no debe existir y sustituyento DS_MODALFRAME | WS_POPUP por WS_CHILD he conseguido ponerla en el sitio, pero no funciona nada en toda la aplicación, ni siquiera puedo cerrarla.

Un saludo y gracias

//ventana principal

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)

{

    static DATOS Datos;

    static HINSTANCE hInstance;

    switch (msg)

    {

        case WM_CREATE:

        //pongo los valores iniciales de la estructura datos

        case WM_COMMAND:

           if(LOWORD(wParam) == CM_OPENTESTER)

              DialogBoxParam(hInstance, "DialogoPrueba", hwnd, DlgProcchild1, (LPARAM)&Datos); //he probado a meter DialogBoxParam en el create de WndProcchild1

           break;

        case WM_DESTROY:

           PostQuitMessage(0);

           break;

        default:

           return DefWindowProc(hwnd, msg, wParam, lParam);

    }

    return 0;

}

//ventana emergente

BOOL CALLBACK DlgProcchild1(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)

{

    static DATOS *Datos;

    switch (msg)

    {

        case WM_INITDIALOG:

//Configuro el estado inicial de los elementos con valores de la estructura datos

        case WM_COMMAND:

           switch(LOWORD(wParam))

   {

  //Aquí tengo todas las acciones de los elemento de la ventana emergente

           }

    }

    return FALSE;

}

//ventana hija

LRESULT CALLBACK WndProcchild1 (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

{

    switch (message){

        case WM_CREATE:

            return 0;

        case WM_DESTROY:

            PostQuitMessage(0);

            return 0;

    }

    return DefWindowProc(hwnd, message, wParam, lParam);

}

//resource.rc

DiagSymData DIALOG 0, 0, 250, 285

STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION   //WS_POPUP lo he sustituido por WS_CHILD y se pone en su sitio, pero no funciona nada.

CAPTION "Symbol Data"

FONT 10, "Helv"

BEGIN

//todos los elementos del panel con los respectivos #define en la cabecera

END

_______________________________________________

Lista de correo Cconclase Cconclase@listas.conclase.net

http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net

Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ