Anidar una DIALOG en otro Control

Anidar una DIALOG en otro Control

Postby Xevi » Thu Dec 28, 2017 1:06 pm

¿Se puede hacer una ventana que sea parte/objeto de otro objeto???

Así pues... lo que pretendo es que una DIALOG esté incrustado en un Panel u otro DIALOG, por ejemplo y que cuando se "mueva" ese objeto "padre" afecte a la misma como otro objeto interior encapsulado.

Code: Select all  Expand view

#include "fivewin.ch"

function Main()

   local oDlg, oFld

   DEFINE DIALOG oDlg TITLE "FiveWin Dynamic folders" ;
      FROM 5, 5 TO 35, 85//20, 49

   oFld := TFoldereX():New( 0.5, 1,,, oDlg,, .F., .F., {"Uno","Dos","Tres","Cuatro","Cinco","Seis"} )
     
   @ 1, 1 BUTTON "&Hello" OF oFld:aDialogs[ 1 ] ;
     ACTION MsgInfo( "Hello world!" )

   @ 11.7, 5  BUTTON "New Dialog" OF oDlg ACTION NewDialog( oDlg )
   @ 11.7, 20 BUTTON "Ok" OF oDlg ACTION oDlg:End()

   ACTIVATE DIALOG oDlg //CENTERED

return nil


function NewDialog( oBjt )
   Local oDlgNew

   DEFINE DIALOG oDlgNew TITLE "New Dialog" PIXEL;
      FROM oBjt:nTop + oBjt:nHeight -350, oBjt:nLeft + objt:nWidth -300 TO ;
           oBjt:nTop + oBjt:nHeight -40,  oBjt:nLeft + objt:nWidth -15 ;
           OF oBjt //La idea seria que esta ventana fuera un objeto más de oBjt

   ACTIVATE DIALOG oDlgNew NOWAIT

return Nil
 


Gracias.
Un Saludo,
Xevi.

Aprendiz de la vida!!!
User avatar
Xevi
 
Posts: 169
Joined: Wed Nov 29, 2017 11:42 am
Location: Girona

Re: Anidar una DIALOG en otro Control

Postby Xevi » Tue Jan 02, 2018 5:21 pm

¿?¿?
Un Saludo,
Xevi.

Aprendiz de la vida!!!
User avatar
Xevi
 
Posts: 169
Joined: Wed Nov 29, 2017 11:42 am
Location: Girona

Re: Anidar una DIALOG en otro Control

Postby cnavarro » Tue Jan 02, 2018 6:02 pm

Xevi, prueba asi

Code: Select all  Expand view


function NewDialog( oBjt )

   Local oDlgNew
   local oFldr
   
   DEFINE DIALOG oDlgNew TITLE "New Dialog" PIXEL ;
      FROM oBjt:nTop + oBjt:nHeight - 350, oBjt:nLeft + objt:nWidth - 300 TO ;
           oBjt:nTop + oBjt:nHeight - 45,  oBjt:nLeft + objt:nWidth - 25 ;
           OF oBjt STYLE nOR( WS_CLIPCHILDREN, WS_BORDER )
// o asi
//           OF oBjt STYLE nOR( WS_CHILD, WS_CLIPCHILDREN, WS_BORDER )
// o
//           OF oBjt STYLE nOR( WS_OVERLAPPEDWINDOW, WS_CHILD )
//
//https://msdn.microsoft.com/es-es/library/windows/desktop/ms632600(v=vs.85).aspx

   oFldr := TFolderEx():New( 0, 0, 600, 250, oDlgNew,, .T., .F., ;
            {"Prime","Segu","Terce","Quart","Five"},,, 0,,,,, .F., 0,,, .F., "TOP",,, .F.,,, .F.,, .F.,, "oFldr" )

   ACTIVATE DIALOG oDlgNew NOWAIT VALID .F.

return Nil

//----------------------------------------------------------------------------//

 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6498
Joined: Wed Feb 15, 2012 8:25 pm
Location: España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 8 guests