Ubicar un Dlg en una ventana con Splitter

Ubicar un Dlg en una ventana con Splitter

Postby MarioG » Fri Nov 26, 2010 10:55 pm

Estimados;
Intento en una ventana con splitter abrir un Dlg, desde recurso, y que se ubique a la derecha del Splitter.
La ventana esta definida como oWnd0
De manera que hago

Code: Select all  Expand view

   DEFINE DIALOG soDlg RESOURCE "ICopyFiles" OF soWnd0 ;
...

   ACTIVATE DIALOG soDlg ON INIT soDlg:Move( 6, soSplit:nFirst+10 )
 


Si en el recurso al DIALOG lo defino como PopUp u Overlapped el DIALOG se ubica relativo al SCREEN y, para el caso, fuera de la Vetntana.
Si lo defino como Child, el puntero no enfoca al Dialog y quedá asi:
Image
Que es como pretendo que quede

muchas gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Ubicar un Dlg en una ventana con Splitter

Postby MarioG » Sat Nov 27, 2010 11:35 pm

Voy a ampliar por si no es suficiente como plantee la consulta anterior.
Este es mi código:
Code: Select all  Expand view

   DEFINE ICON aO[_Ico]  RESNAME "iGO"
   DEFINE WINDOW soWnd0 ;
          TITLE  "Protocolo de Transferencia de Archivos (FTP)" ;
          ICON   aO[_Ico] ;
          NOMAXIMIZE ;
          FROM   2000,5 TO 2001,5

   soWnd0:SetSize( W0_ANCHO, W0_HEIGHT )
   soWnd0:aMinMaxInfo = { W0_ANCHO, W0_HEIGHT, ;   // xMaxSize,      yMaxSize
                          0, 0, ;                  // xMaxPosition,  yMaxPosition
                          W0_ANCHO, W0_HEIGHT, ;   // xMinTrackSize, yMinTrackSize
                          W0_ANCHO, W0_HEIGHT }    // xMaxTrackSize, yMaxTrackSize

   // Barra Tipo Outlook
   DEFINE OUTLOOK2003 aO[_OL2003] OF soWnd0 ;
          PROMPTS "iGO", "Configurar" ;
          BITMAPS "bmp_iGO24", "bmp_Config24"

   // iGO
   @ 0, 0 EXPLORERBAR aO[_ExpBar1] OF aO[_OL2003]:aDialogs[ 1 ]
   aO[_Panel1] = aO[_ExpBar1]:AddPanel( "Opciones", "bmp_iGO24", 127 )
   aO[_Panel1]:lSpecial = .T.
   aO[_Panel1]:AddLink( "Conectar",  {|| if( oConxFTP:ChkFTPConexion(), ;
                                         ( aO[_Panel1]:aControls[2]:Enable(), aO[_Panel1]:aControls[3]:Enable(), aO[_Panel1]:aControls[1]:Disable() ), ) }, ;
                    "bmp_Conecta" )
   aO[_Panel1]:AddLink( "Cargar",    {|| oConxFTP:DlgSendFiles() }, "bmp_Carga" )
      aO[_Panel1]:aControls[2]:Disable()
   aO[_Panel1]:AddLink( "Descargar", {|| "" }, "bmp_Descarga" )
      aO[_Panel1]:aControls[3]:Disable()

   @ 110, 25 BTNBMP PROMPT "Salir" OF aO[_Panel1] SIZE 100, 30 NOBORDER 2007 ;
             ACTION if( !Empty( oConxFTP:oInternet ), oConxFTP:oInternet:End(), ), soWnd0:End()

   // Configurar
   @ 0, 0 EXPLORERBAR aO[_ExpBar2] OF aO[_OL2003]:aDialogs[ 2 ]
   aO[_Panel2] = aO[_ExpBar2]:AddPanel( "Configurar", "bmp_Config24", 10 )
   aO[_Panel2]:AddLink( "Configurar", {|| "" }, "bmp_" )

   SetParent( aO[_OL2003]:hWnd, soWnd0:hWnd )

   // Splitter
   soDlg:= nil

   @ 0, 191 SPLITTER soSplit ;
            VERTICAL _3DLOOK ;
            PREVIOUS CONTROLS aO[_OL2003] ;
            HINDS CONTROLS soDlg ;
            LEFT MARGIN 400 ;
            SIZE 3, soWnd0:nHeight PIXEL ;
            OF soWnd0
   soSplit:lStatic:= TRUE                    // Inmobiliza Splitter
   SetParent( soSplit:hWnd, soWnd0:hWnd )

   ACTIVATE WINDOW soWnd0 ON INIT soWnd0:Center()
 


Como está basado en el sample test2003, tampoco entiendo la objeto de incluir SetParent()

muchas gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Ubicar un Dlg en una ventana con Splitter

Postby MarioG » Sat Nov 27, 2010 11:51 pm

Sigo agregando, porque parece que estoy mareado y, en lugar de aclarar, "oscurezco" :D
En el primer post coloqué la imagen de como pretendo que quede, la aplicación, al llamar al Dialog. Si en el recurso lo defino como Popup, se lo puede mover fuera de la ventana Main y si lo defino como Child, no se donde va a para el foco, porque no puedo acceder al Dialog (En este caso tampoco responde la ventana Main para cerrar la aplicación).

espero haber sido mas claro; muchas gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Ubicar un Dlg en una ventana con Splitter - SOLUCIONADO

Postby MarioG » Tue Dec 14, 2010 1:19 am

Lo bueno de que, a veces, nadie responda es que agudiza el ingenio en la búsqueda de la solución :D

Al crear un DLG desde Workshop y para que luego permanezca inmóvil en la porción deseada del splitter, hay que marcar los radiobox: Popup y Dialog Frame.
En lo textual queda:
STYLE DS_MODALFRAME | 0x4L | WS_POPUP | WS_VISIBLE | WS_DLGFRAME | WS_SYSMENU

Saludos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Ubicar un Dlg en una ventana con Splitter

Postby Antonio Linares » Tue Dec 14, 2010 6:21 am

Mario,

Muy bien! :-)

Queda resuelto ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41406
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Ubicar un Dlg en una ventana con Splitter - SOLUCIONADO

Postby MarioG » Tue Dec 14, 2010 10:13 am

Si Antonio
por ello agregué SOLUCIONADO al Asunto

gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 43 guests