Page 1 of 1

OUTLOOK 2003 Y XBROWSE YA CASI LISTO

Posted: Sat May 12, 2012 12:08 am
by FRANCISDAX
Amigos del foro.

Con este codigo esta casi listo, pero el xbrowse aparace muy lejos del margen derecho de la ventana hija.

Code: Select all

FUNCTION MantCentCosto( oVentana, oMenuItem, cCod )
  LOCAL oWChild, oBar, oBrw, oFont, oCursor, oIcon
  LOCAL lSalir := .F., oBrush
  local oOutLook2003, oStatusBar, oSplit, cCombo, oRad, nValue := 1

  cAliUsu := AbreDbf( "CKUSUARI" )
  ( cAliUsu )->( DBSetOrder( "CODIGO" ) )

  IF ( cAliUsu )->( DBSeek( cCod ) )
    IF !( cAliUsu )->USEM16
      __StopMsg("Usuario no tiene permiso para ingresar a este M¢dulo ...")
      CierraDbf( "CKUSUARI", cAliUsu )
      RETURN( .T. )
    ENDIF
  ELSE
    CierraDbf( "CKUSUARI", cAliUsu )
    RETURN( .T. )
  ENDIF
  CierraDbf( "CKUSUARI", cAliUsu )

  DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 0, -05
  DEFINE ICON oIcon RESOURCE "FWCIBCONT"
  DEFINE CURSOR oCursor RESOURCE "Mano"
  DEFINE BRUSH oBrush NAME "GRADIEN"

  CursorWait()

  cAliCos := AbreDbf( "T10REF09" )
  ( cAliCos )->( DBSetOrder( "CODIGO" ) )
  ( cAliCoS )->( DBGoTop() )

  oMenuItem:Disable()

  DEFINE WINDOW oWChild;
         TITLE OToA( "Gesti¢n de Centros de Costo" );
         MDICHILD;
         ICON oIcon;
         OF oVentana

  SET FONT OF oWChild TO oFont

  DEFINE OUTLOOK2003 oOutLook2003 OF oWChild;
         PROMPTS "Centros de Costo", "Calendario", "Otros";
         BITMAPS "..\bitmaps\mail.bmp", "..\bitmaps\calendar.bmp", "..\bitmaps\notes.bmp"

         oWChild:oLeft = NIL
         
         @ 1, 2 BUTTON "Nuevo Costo" OF oOutLook2003:aDialogs[ 1 ] SIZE 80, 22 ACTION ( MCLICK(), AMCosto( oBrw, .T., cAliCos ), oBrw:Refresh() )
  
         @ 3, 2 BUTTON "Edita Costo" OF oOutLook2003:aDialogs[ 1 ] SIZE 80, 22 ACTION ( MCLICK(), AMCosto( oBrw, .F., cAliCos ), oBrw:Refresh() )

         @ 5, 2 BUTTON "Borra Costo" OF oOutLook2003:aDialogs[ 1 ] SIZE 80, 22 ACTION ( MCLICK(), BorrCosto( "este Centro de Costo" ), oBrw:Refresh() )
   
         @ 7, 2 BUTTON "Salir"       OF oOutLook2003:aDialogs[ 1 ] SIZE 80, 22 ACTION ( MCLICK(), oMenuItem:Enable(), lSalir := .T., oWChild:End() )  
  
         oBrw := TXBrowse():New( oWChild )
           
         WITH OBJECT oBrw
          :bKeyDown := { | nKey, nFlags | ;
                            IIF( nKey == 13,; // [Enter]
                                 ( MCLICK(), AMCosto( oBrw, .F., cAliCos ) ),;
                            IIF( nKey == 46,; // [DEL]
                                 ( MCLICK(), BorrCosto( "este Centro de Costo " ) ),;
                            IIF( nKey == ASC("N") .AND. GetKeyState( VK_CONTROL ),; // [CTRL+N]
                                 ( MCLICK(), AMCosto( oBrw, .T., cAliCos ) ),;
                            IIF( nKey == ASC("M") .AND. GetKeyState( VK_CONTROL ),; // [CTRL+M]
                                 ( MCLICK(), AMCosto( oBrw, .F., cAliCos ) ),;
                            IIF( nKey == ASC("P") .AND. GetKeyState( VK_CONTROL ),; // [CTRL+P]
                                 ( MCLICK(), PrintCCos() ),;
                            IIF( nKey == ASC("S") .AND. GetKeyState( VK_CONTROL ),; // [CTRL+S]
                                 ( MCLICK(), oMenuItem:Enable(), lSalir := .T., oWChild:End() ), ) ) ) ) ) ) }
         END

         WITH OBJECT oBrw
           :cAlias     := cAliCos
           :bClrHeader := { || { 65535, 0  } }
           :nHeaderHeight := 35
           :SetRdd()
           :SetBackGround( oBrush )
           :lRecordSelector := .F.
           :nStretchCol := STRETCHCOL_LAST
           :nMarqueeStyle := MARQSTYLE_HIGHLROW
           :CreateFromCode()             
         END
           
  SetParent( oOutLook2003:hWnd, oWChild:hWnd )
   
  oWChild:oClient = NIL

  @ 0, 191 SPLITTER oSplit ;
       VERTICAL _3DLOOK ;
       PREVIOUS CONTROLS oOutLook2003 ; 
       HINDS CONTROLS oWChild:oWndClient, oBrw ;
       SIZE 4, oWChild:nHeight - 70 PIXEL ;
       OF oWChild
  
  SetParent( oSplit:hWnd, oWChild:hWnd )
  
  oSplit:lStatic := .T. // PARA QUE ES SPLITER NO SE MUEVA POR EL USUARIO
  oBrw:SetFocus()

  ACTIVATE WINDOW oWChild;
           ON RESIZE ( oOutLook2003:AdjLeft(), oSplit:AdjClient(), oBrw:AdjRight() );
           VALID( CierraDbf( "T10REF09", cAliCos ), lSalir:= .T. )
   
  RELEASE FONT oFont

RETURN( .T. )
 
Maestro Antonio Linares una ayuda por favor ...
Aqui una muestra de lo que digo...
[img]
http://img838.imageshack.us/img838/5854/outlook2003.jpg
[/img]
Salu2

Re: OUTLOOK 2003 Y XBROWSE YA CASI LISTO

Posted: Sat May 12, 2012 12:12 am
by FRANCISDAX
Aqui la foto mas grande

[img]
http://img707.imageshack.us/img707/5854/outlook2003.jpg
[/img]

Re: OUTLOOK 2003 Y XBROWSE YA CASI LISTO

Posted: Sat May 12, 2012 2:43 am
by joseluisysturiz
Revisa tu codigo, pareciera que tubieras otr objeto a la derecha del xBrowse, prueba con la ventana maximizada..saludos... :shock:

Re: OUTLOOK 2003 Y XBROWSE YA CASI LISTO

Posted: Sat May 12, 2012 5:42 pm
by FRANCISDAX
Pues sigo con este tema, revise el codigo y no se donde pueda estar el problema, ya casi se abrio un poco mas el xbrowse

Code: Select all

FUNCTION MantCentCosto( oVentana, oMenuItem, cCod )
  LOCAL oWChild, oBar, oBrw, oFont, oCursor, oIcon
  LOCAL lSalir := .F., oBrush
  local oOutLook2003, oStatusBar, oSplit, cCombo, oRad, nValue := 1

  cAliUsu := AbreDbf( "CKUSUARI" )
  ( cAliUsu )->( DBSetOrder( "CODIGO" ) )

  IF ( cAliUsu )->( DBSeek( cCod ) )
    IF !( cAliUsu )->USEM16
      __StopMsg("Usuario no tiene permiso para ingresar a este M¢dulo ...")
      CierraDbf( "CKUSUARI", cAliUsu )
      RETURN( .T. )
    ENDIF
  ELSE
    CierraDbf( "CKUSUARI", cAliUsu )
    RETURN( .T. )
  ENDIF
  CierraDbf( "CKUSUARI", cAliUsu )

  DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 0, -05
  DEFINE ICON oIcon RESOURCE "FWCIBCONT"
  DEFINE CURSOR oCursor RESOURCE "Mano"
  DEFINE BRUSH oBrush NAME "GRADIEN"

  CursorWait()

  cAliCos := AbreDbf( "T10REF09" )
  ( cAliCos )->( DBSetOrder( "CODIGO" ) )
  ( cAliCoS )->( DBGoTop() )

  oMenuItem:Disable()

  DEFINE WINDOW oWChild;
         TITLE OToA( "Gesti¢n de Centros de Costo" );
         MDICHILD;
         ICON oIcon;
         OF oVentana

  SET FONT OF oWChild TO oFont

  DEFINE OUTLOOK2003 oOutLook2003 OF oWChild;
         PROMPTS "Centros de Costo", "Reportes", "";
         BITMAPS "..\bitmaps\mail.bmp", "..\bitmaps\calendar.bmp"

         oWChild:oLeft = NIL
         
         @ 1, 2 BUTTON "Nuevo Costo" OF oOutLook2003:aDialogs[ 1 ] SIZE 80, 22 ACTION ( MCLICK(), AMCosto( oBrw, .T., cAliCos ), oBrw:Refresh() )
  
         @ 3, 2 BUTTON "Edita Costo" OF oOutLook2003:aDialogs[ 1 ] SIZE 80, 22 ACTION ( MCLICK(), AMCosto( oBrw, .F., cAliCos ), oBrw:Refresh() )

         @ 5, 2 BUTTON "Borra Costo" OF oOutLook2003:aDialogs[ 1 ] SIZE 80, 22 ACTION ( MCLICK(), BorrCosto( "este Centro de Costo" ), oBrw:Refresh() )
   
         @ 7, 2 BUTTON "Salir"       OF oOutLook2003:aDialogs[ 1 ] SIZE 80, 22 ACTION ( MCLICK(), oMenuItem:Enable(), lSalir := .T., oWChild:End() )
         
         @ 1, 2 BUTTON "Imprimir   " OF oOutLook2003:aDialogs[ 2 ] SIZE 80, 22 ACTION ( MCLICK(), PrintCCos() )
         
         oBrw := TXBrowse():New( oWChild:oClient )
           
         WITH OBJECT oBrw
          :bKeyDown := { | nKey, nFlags | ;
                            IIF( nKey == 13,; // [Enter]
                                 ( MCLICK(), AMCosto( oBrw, .F., cAliCos ) ),;
                            IIF( nKey == 46,; // [DEL]
                                 ( MCLICK(), BorrCosto( "este Centro de Costo " ) ),;
                            IIF( nKey == ASC("N") .AND. GetKeyState( VK_CONTROL ),; // [CTRL+N]
                                 ( MCLICK(), AMCosto( oBrw, .T., cAliCos ) ),;
                            IIF( nKey == ASC("M") .AND. GetKeyState( VK_CONTROL ),; // [CTRL+M]
                                 ( MCLICK(), AMCosto( oBrw, .F., cAliCos ) ),;
                            IIF( nKey == ASC("P") .AND. GetKeyState( VK_CONTROL ),; // [CTRL+P]
                                 ( MCLICK(), PrintCCos() ),;
                            IIF( nKey == ASC("S") .AND. GetKeyState( VK_CONTROL ),; // [CTRL+S]
                                 ( MCLICK(), oMenuItem:Enable(), lSalir := .T., oWChild:End() ), ) ) ) ) ) ) }
           :cAlias     := cAliCos
           :bClrHeader := { || { 65535, 0  } }
           :nHeaderHeight := 35
           :SetRdd()
           :SetBackGround( oBrush )
           :lRecordSelector := .F.
           :nStretchCol := STRETCHCOL_LAST
           :nMarqueeStyle := MARQSTYLE_HIGHLROW
           :CreateFromCode()                                              
         END

         oWChild:SetControl( oBrw ) // [b]con esto el xbrowse se abrio un poco mas[/b] :twisted: 
  
  SetParent( oOutLook2003:hWnd, oWChild:hWnd )
  SetParent( oBrw:hWnd,   oWChild:hWnd )     
  oWChild:oClient = NIL

  @ 0, 191 SPLITTER oSplit ;
       VERTICAL _3DLOOK ;
       PREVIOUS CONTROLS oOutLook2003 ; 
       HINDS CONTROLS oBrw, oWChild:oClient ;
       SIZE 4, oWChild:nHeight - 70 PIXEL ;
       OF oWChild

  SetParent( oSplit:hWnd, oWChild:hWnd )

      oSplit:lStatic := .T. // PARA QUE ES SPLITER NO SE MUEVA POR EL USUARIO
      oBrw:SetFocus()

  ACTIVATE WINDOW oWChild;
           ON RESIZE ( oOutLook2003:AdjLeft(), oSplit:AdjClient(), oBrw:AdjRight() );
           VALID( CierraDbf( "T10REF09", cAliCos ), lSalir:= .T. )
     
  RELEASE FONT oFont

RETURN( .T. )

 
Aqui la imagen de este codigo

[img]
http://img521.imageshack.us/img521/5854/outlook2003.jpg
[/img]

Ya probe maximizando la ventana y nada...
Ayuda por favor , a los gurus de FWH ...

Salu2

Re: OUTLOOK 2003 Y XBROWSE YA CASI LISTO

Posted: Sat May 12, 2012 7:27 pm
by Bayron
Despues de crear el Control OutLook intenta:

Code: Select all

oOutLook2003:nWidth  := 150

Re: OUTLOOK 2003 Y XBROWSE YA CASI LISTO

Posted: Mon May 14, 2012 2:53 am
by jll-fwh
Hola FRANCISDAX:

Debes de reposicionar el xbrowse cuando lo creas indicandole la posición del Splitter:

Code: Select all

oBrw:nLeft  := oSplit:nRight+1
Aunque no te funciona bien porque el código esta un poco liado.

Mi consejo:

1.- Creas el Splitter.
2.- Creas el control OutLook y luego asignas el ancho del control sobre el ancho del Splitter - 1 que has creado asÍ ( oOutLook2003:nRight := nSplit - 1 )
3.- Creas en Browse y le asignas la posición de la izquierda. ( oBrw:nLeft := oOutLook2003:nRight+1 )

De este modo, ademas, si modificas la posición del Splitter se recalcularan las posiciones a partir del Splitter.

Te quedara así:

Image


Un saludo
JLL

Re: OUTLOOK 2003 Y XBROWSE YA CASI LISTO

Posted: Mon May 14, 2012 11:55 pm
by FRANCISDAX
Muchas gracias a todos amigos, voy a probar uno por uno sus consejos...

Salu2

Re: OUTLOOK 2003 Y XBROWSE - RESUELTO

Posted: Tue May 15, 2012 5:56 pm
by FRANCISDAX
Bueno Amigos, gracias por sus diferentes aportes, ya me funciona ... aunque el splitter no aparece, no es tan importante.

Aqui el codigo como quedo.

Code: Select all

FUNCTION MantCentCosto( oVentana, oMenuItem, cCod )
  LOCAL oWChild, oBar, oBrw, oFont, oCursor, oIcon
  LOCAL lSalir := .F., oBrush
  local oOutLook2003, oStatusBar, oSplit, cCombo, oRad, nValue := 1

  cAliUsu := AbreDbf( "CKUSUARI" )
  ( cAliUsu )->( DBSetOrder( "CODIGO" ) )

  IF ( cAliUsu )->( DBSeek( cCod ) )
    IF !( cAliUsu )->USEM16
      __StopMsg("Usuario no tiene permiso para ingresar a este M¢dulo ...")
      CierraDbf( "CKUSUARI", cAliUsu )
      RETURN( .T. )
    ENDIF
  ELSE
    CierraDbf( "CKUSUARI", cAliUsu )
    RETURN( .T. )
  ENDIF
  CierraDbf( "CKUSUARI", cAliUsu )

  DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 0, -05
  DEFINE ICON oIcon RESOURCE "FWCIBCONT"
  DEFINE CURSOR oCursor RESOURCE "Mano"
  DEFINE BRUSH oBrush NAME "GRADIEN"

  CursorWait()

  cAliCos := AbreDbf( "T10REF09" )
  ( cAliCos )->( DBSetOrder( "CODIGO" ) )
  ( cAliCoS )->( DBGoTop() )

  oMenuItem:Disable()

  DEFINE WINDOW oWChild;
         TITLE OToA( "Gesti¢n de Centros de Costo" );
         MDICHILD;
         ICON oIcon;
         OF oVentana

  SET FONT OF oWChild TO oFont

  DEFINE OUTLOOK2003 oOutLook2003 OF oWChild;
         PROMPTS "Centros de Costo", "Reportes";
         BITMAPS "gente.bmp", "imprime.bmp"
         
         @ 1, 2 BUTTON "Nuevo Costo" OF oOutLook2003:aDialogs[ 1 ] SIZE 80, 22 ACTION ( MCLICK(), AMCosto( oBrw, .T., cAliCos ), oBrw:Refresh() )
  
         @ 3, 2 BUTTON "Edita Costo" OF oOutLook2003:aDialogs[ 1 ] SIZE 80, 22 ACTION ( MCLICK(), AMCosto( oBrw, .F., cAliCos ), oBrw:Refresh() )

         @ 5, 2 BUTTON "Borra Costo" OF oOutLook2003:aDialogs[ 1 ] SIZE 80, 22 ACTION ( MCLICK(), BorrCosto( "este Centro de Costo" ), oBrw:Refresh() )
   
         @ 7, 2 BUTTON "Salir"       OF oOutLook2003:aDialogs[ 1 ] SIZE 80, 22 ACTION ( MCLICK(), oMenuItem:Enable(), lSalir := .T., oWChild:End() )
         
         @ 1, 2 BUTTON "Imprimir   " OF oOutLook2003:aDialogs[ 2 ] SIZE 80, 22 ACTION ( MCLICK(), PrintCCos() )
         
         oBrw := TXBrowse():New( oWChild )
           
         WITH OBJECT oBrw
          :bKeyDown := { | nKey, nFlags | ;
                            IIF( nKey == 13,; // [Enter]
                                 ( MCLICK(), AMCosto( oBrw, .F., cAliCos ) ),;
                            IIF( nKey == 46,; // [DEL]
                                 ( MCLICK(), BorrCosto( "este Centro de Costo " ) ),;
                            IIF( nKey == ASC("N") .AND. GetKeyState( VK_CONTROL ),; // [CTRL+N]
                                 ( MCLICK(), AMCosto( oBrw, .T., cAliCos ) ),;
                            IIF( nKey == ASC("M") .AND. GetKeyState( VK_CONTROL ),; // [CTRL+M]
                                 ( MCLICK(), AMCosto( oBrw, .F., cAliCos ) ),;
                            IIF( nKey == ASC("P") .AND. GetKeyState( VK_CONTROL ),; // [CTRL+P]
                                 ( MCLICK(), PrintCCos() ),;
                            IIF( nKey == ASC("S") .AND. GetKeyState( VK_CONTROL ),; // [CTRL+S]
                                 ( MCLICK(), oMenuItem:Enable(), lSalir := .T., oWChild:End() ), ) ) ) ) ) ) }
           :cAlias     := cAliCos
           :bClrHeader := { || { 65535, 0  } }
           :nHeaderHeight := 35
           :SetRdd()
           :SetBackGround( oBrush )
           :lRecordSelector := .F.
           :nStretchCol := STRETCHCOL_LAST
           :nMarqueeStyle := MARQSTYLE_HIGHLROW
           :CreateFromCode()                                              
         END

         oWChild:SetControl( oBrw )

  SetParent( oOutLook2003:hWnd, oWChild:hWnd )

  @ 0, 191 SPLITTER oSplit;
       VERTICAL 3D;
       PREVIOUS CONTROLS oOutLook2003; 
       HINDS CONTROLS oBar;
       SIZE 4, oWChild:nHeight - 37 PIXEL;
       OF oWChild

  SetParent( oSplit:hWnd, oWChild:hWnd )
  oSplit:lStatic := .T.

  ACTIVATE WINDOW oWChild;
           ON RESIZE ( oOutLook2003:AdjLeft(), oBrw:AdjRight() );
           VALID( CierraDbf( "T10REF09", cAliCos ), lSalir )
     
  RELEASE FONT oFont

RETURN( .T. )
 
Aqui la imagen para observarla mejor.
[img]
http://imageshack.us/photo/my-images/21 ... k2003.jpg/
[/img]
[img]
http://img213.imageshack.us/img213/5854/outlook2003.jpg
[/img]

Repito, aunque no aparece el splitter, funciona bien el codigo... hecho con FWH 082010 y BCC52 y XHARBOUR.

Salu2