none
Incrustar ventana en ventana RRS feed

  • Pregunta

  • Hola a todos:

    ¿Es posible incrustar una ventana de una aplicación en una aplicación wpf?

    Por ejemplo, incrustar una ventana que ejecute el intérprete de órdenes, cmd, en una ventana wpf. De tal modo que ambas ventanas se muevan de forma única.

    Muchas gracias

     


    Atentamente José Luis Torre
    viernes, 3 de febrero de 2012 10:52

Respuestas

Todas las respuestas

  • Hola José Luis

    Dale una mirada a este hilo en el foro de inglés: http://social.msdn.microsoft.com/Forums/en/wpf/thread/d1846a16-c1fa-41c3-9b38-053eb24a863d.

    He probado el código usando el cmd y la verdad es que se mueve con la ventana padre... solo que no te deja escribir en la consola.

    Un saludo


    Antonio Lobo
    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi blog
    • Marcado como respuesta José Luis Torre miércoles, 22 de febrero de 2012 9:02
    sábado, 4 de febrero de 2012 14:41
  • Puedes utiliza esta función que sirve para incrustar una ventana dentro de otra de manera nativa:

    [DllImport("user32.dll", SetLastError = true)] static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);

     

    Donde el puntero hWndChild es la ventana que irá dentro de la ventara padre hWndNewParent.

    Para obtener estos punteros en WPF tendrás que obtenerlos de la siguiene manera:

    WindowInteropHelper interopHelper = new WindowInteropHelper(VentanaPrincipal); IntPtr punteroVentanaPadre = interopHelper.Handle;
    
    WindowInteropHelper interopHelper = new WindowInteropHelper(VentanaHija); IntPtr punteroVentanaHija = interopHelper.Handle;
    
    SetParent(IpunteroVentanaHija, punteroVentanaPadre);

    Un saludo!

     

     


    My Web with SV4: Promo Video
    Some own developments

    • Editado _vicboma sábado, 4 de febrero de 2012 21:48
    sábado, 4 de febrero de 2012 21:45