FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour xBrowse ayuda
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
xBrowse ayuda
Posted: Mon Sep 12, 2011 05:47 PM
Antonio, he intentado buscar información del xBrowse y en el wiki y apenas hay información y la que hay está en inglés.
http://www.fivetechsoft.com/wiki/doku.php?id=xbrowse

Quiero eliminar la columna donde aparece el triángulo del cursor del browse y no se como realizarlo. Es la primera columana que aparece en la izquierda. ¿Cómo?

Me puedes enviar una contraseña para el wiki y ya que me tengo que poner a investigar sobre el xBrowse voy a intentar actualizar la información al respecto? Sé que hace tiempo me la mandaste pero no sé donde la tengo.
Saludos



Andrés González desde Mallorca
Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
Re: xBrowse ayuda
Posted: Mon Sep 12, 2011 05:53 PM

Andres,

oBrw:lRecordSelector := .f.

ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: xBrowse ayuda
Posted: Tue Sep 13, 2011 06:55 AM
Gracias, funciona perfecto.

Unos problemas mas. Intento pasar el ejemplo que está en un dialogo a ventana, para poderlo manejar en mis programas. Ver el siguiente código (Antonio buen ejemplo para acompañar al wwonders.dbf).

http://forums.fivetechsupport.com/viewtopic.php?f=6&t=22302&p=118743&hilit=loadfrommemory#p118743

En mi caso cambio el campo Nombre por Image y de esta forma consigo tener un browse de las imagenes y el ampliado correspondiente de la imagen seleccionada.



Uploaded with ImageShack.us

Lo que quiero conseguir es que el browse de las imágenes me las centre o me las ajuste a la celda. ¿Cómo? Me refiero al conjunto total de las imágenes que está en la parte izquierda, el control browse. Ahora si muevo el Splitter me deja siempre la imagen en la izquierda o si amplio el alto de la celda. Quiero conseguir que o bien se centre en la celda o se ajuste. Para ver un ejemplo pongan en la sección de samples ../fwh/samples/wwonders.prg y añadan el siguiente código.

Code (fw): Select all Collapse
// Testing FiveWin splitter controls

#include "FiveWin.ch"
#include "Splitter.ch"
#include 'xbrowse.ch'


static oWnd

static oBrw, oImage

static oSplit

REQUEST DBFCDX

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

function Main()

   local cTitle := "Testing the Splitter controls with image and xBrowse"
   local cBar

   DEFINE WINDOW oWnd FROM 1, 1 TO 400, 600 PIXEL ;
        MENU BuildMEnu();
      TITLE cTitle

   SELECT 1
   USE WWONDERS VIA "DBFCDX"

    DEFINE BUTTONBAR oBar SIZE 65,65  OF oWnd//_3d
   oBar:l2007:=.t.

   DEFINE BUTTON OF oBar FILE "..\Res\32x32\Open.bmp" ;
                 PROMPT "Abrir";
                                 TOOLTIP "Abrir esistente";
                 ACTION MsgInfo( FWVERSION ) ;
                 MESSAGE "Abrir un fichero de imagen..."

   DEFINE BUTTON OF oBar FILE "..\Res\32x32\Save.bmp" ;
                             PROMPT "Guardar";
                 ACTION MsgInfo( FWVERSION ) ;
                 MESSAGE "Abrir un fichero de imagen..."

   MENU oPopup POPUP
      MENUITEM "Test" WHEN .f.
      MENUITEM "Test" ACTION MsgInfo( "Any action" )
      MENU
         MENUITEM "Another" WHEN .f.
         MENUITEM "More..."
      ENDMENU
   ENDMENU



    @  65, 1 XBROWSE oBrw SIZE 140,oWnd:nHeight() PIXEL OF oWnd;
      COLUMNS "IMAGE" COLSIZES 10 ;
      ALIAS "WWONDERS" CELL LINES NOBORDER


   @ 65,145 IMAGE oImage SIZE oWnd:nWidth(),oWnd:nHeight() PIXEL OF oWnd ADJUST
  oImage:LoadFromMemory( WWONDERS->IMAGE )

   WITH OBJECT oBrw
      :aCols[ 1 ]:nDataBmpAlign := AL_CENTER //Centra la imagen (Thanks Mr. Rao)
      :aCols[ 1 ]:nHeadStrAlign := AL_CENTER //Centra la cabecera (Thanks Mr. Rao)
      :aCols[ 1 ]:lBmpStretch := .t. //Ajusta a la celda (Thanks Mr. Rao)
      :lRecordSelector := .f.
      :nStretchCol      := 1
      :lHScroll         := .f.
      :bChange          := { || oImage:LoadFromMemory( WWONDERS->IMAGE ), oImage:Refresh() }
      :CreateFromCode()
   END

   @ 65, 140  SPLITTER oSplit ;
              VERTICAL ;
              PREVIOUS CONTROLS oBrw ;
              HINDS CONTROLS oImage ;
              LEFT MARGIN 120 ;
              RIGHT MARGIN 440 ;
              SIZE 4, oWnd:nHeight()  PIXEL ;
              OF oWnd ;
              _3DLOOK ;
              UPDATE


        ACTIVATE WINDOW oWnd MAXIMIZED;
            ON RESIZE oSplit:AdjRight()

return nil

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

procedure AppSys  // XBase++ requirement

return

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

function BuildMenu()

   local oMenu

   MENU oMenu 2007
      MENUITEM "Archivo"
         MENU
            MENUITEM "Nuevo" + Chr(9)+ "Ctrl-N" MESSAGE "Nuevo fichero en blanco" ;
               FILE "..\Res\16x16\New.bmp";
               ACTION MsgInfo( "any action" ) ;
               ACCELERATOR 0, VK_F2
            MENUITEM "Abrir" + Chr(9) + "Ctrl-O" MESSAGE "Abrir fichero existente";
                                FILE "..\Res\16x16\Open.bmp"
            MENUITEM "Guarda" + Chr(9) + "Ctrl-S" MESSAGE "Abrir fichero existente";
                                FILE "..\Res\16x16\Save.bmp"
            MENUITEM "Guardar como" + Chr(9) + "Shift+Ctrl-S" MESSAGE "Abrir fichero existente";
                      FILE "..\Res\16x16\Saveas.bmp"
            MENUITEM "Cerrar" MESSAGE "Abrir fichero existente"
      ENDMENU



      MENUITEM "&Salir" MESSAGE "Abandonar el programa" ACTION oWnd:End()


   ENDMENU

return oMenu


¿A alguien se le ocurre como hacer zoom al control oImage? necesito poder ampliar y reducir la foto seleccionada.
Saludos



Andrés González desde Mallorca
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: xBrowse ayuda
Posted: Tue Sep 13, 2011 07:36 AM

¿Como centro la cabecera del browse? Donde pone IMAGE necesito que esté centrado.

Saludos



Andrés González desde Mallorca
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: xBrowse ayuda
Posted: Tue Sep 13, 2011 08:15 AM
To center the image in the browse cell:
Code (fw): Select all Collapse
oBrw:aCols[ 1 ]:nDataBmpAlign := AL_CENTER

To center the heading:
Code (fw): Select all Collapse
oBrw:aCols[ 1 ]:nHeadStrAlign := AL_CENTER
Regards



G. N. Rao.

Hyderabad, India
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: xBrowse ayuda
Posted: Tue Sep 13, 2011 08:47 AM

Gracias RAO, funciona perfecto.

Más cosas: ¿Como hago para poder mover los registros de posición? En mi caso lo único que quiero hacer en mover una imagen de posición. No sé si tengo que realizar ese movimiento en la base de datos o el xBrowse te posibilita esta acción. ¿Alguna sugerencia?

Saludos



Andrés González desde Mallorca
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: xBrowse ayuda
Posted: Tue Sep 13, 2011 02:21 PM

Mr. RAO. is possible ADJUST the BMP to the cell? How?

Saludos



Andrés González desde Mallorca
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: xBrowse ayuda
Posted: Tue Sep 13, 2011 02:40 PM
Andrés González wrote:Mr. RAO. is possible ADJUST the BMP to the cell? How?


oCol:lBmpStretch := .t.
Stretches the image to fit full size of the cell both height and width.
Regards



G. N. Rao.

Hyderabad, India
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: xBrowse ayuda
Posted: Tue Sep 13, 2011 02:42 PM

Andrés,

Enviada la clave a tu email :-)

Cualquier ayuda en el wiki se agradece mucho :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: xBrowse ayuda
Posted: Tue Sep 13, 2011 08:25 PM

Gracias Antonio, de todas formas después de revisar el wiki me he dado cuenta que hay más información del xBrowse como txbrowse. Poco a poco vamos haciendo una buena documentación.

Saludos



Andrés González desde Mallorca
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: xBrowse ayuda
Posted: Wed Sep 14, 2011 08:45 AM

Más cosas, cómo hago para:

¿Mover registros de posición? Ejemplo pasar la imagen 4 a la 2
¿Marcar varios registros en el browse? Ejemplo marcar los la imagen 3, 4 y 6. Mi intención es luego mandarlas por correo.

Saludos



Andrés González desde Mallorca
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: xBrowse ayuda
Posted: Wed Sep 14, 2011 08:54 AM
Ya he visto como se hace el marcar multiples líneas del browse:

http://forums.fivetechsupport.com/viewtopic.php?f=3&t=20177&p=106755&hilit=multiple+select#p106755

Code (fw): Select all Collapse
oBrw:nMarqueeStyle = MARQSTYLE_HIGHLROWMS


La cosa va quedando mas clara:


Uploaded with ImageShack.us

Le he quitado el ADJUST en el control oImage, hay forma de que se centre en el control en vez de que me aparezca en la parte superior izquierda del control. ¿Cómo?
Saludos



Andrés González desde Mallorca
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: xBrowse ayuda
Posted: Mon Sep 19, 2011 12:52 PM
Alguien sabe si es posible meter las imágenes en una array, o sea, una imagen en cada celda para luego poder mostrarlas del mismo modo que se hace en el ejemplo anterior. Quiero hacer algo similar a lo que se hace con el campo MEMO pero para no tener que crear el fichero cada vez, me pregunto si es posible hacerlo en memoria mediante el array. Existe algún inconveniente? Mi idea es pasas unos ficheros multipágina (*.TIF) al array para construir un visor, de ficheros .TIF. Para intentar hacer un ejemplo he cogido una cosa muy simple pero no funciona, leo dos fotos directamente en dos celdas del array, pero se queda colgado. ¿Alguien sabe si es un problema del array?.

Code (fw): Select all Collapse
unction Edit()

   local oBar, oTiffEdit, cTiff := "Prueba"
   local aArray := {}
   
  

   AADD(aArray, MEMOREAD("..\JPG\F1.JPG"))
   AADD(aArray, MEMOREAD("..\JPG\F2.JPG"))
   
   msgInfo(len(aArray)) //Muestra que hay dos registros.
   
   DEFINE WINDOW oTiffEdit ;
              TITLE cTiff     ;
              MDICHILD  
    
     DEFINE BUTTONBAR oBar SIZE 65,65  OF oTiffEdit//_3d
   oBar:l2007:=.t.

   DEFINE BUTTON OF oBar FILE "..\Res\32x32\Exit.bmp" ;
                             PROMPT "Salir";
                 ACTION (oTiffEdit:End()) ;
                 MESSAGE "Salir..."
                 
   
    @  65, 1 XBROWSE oBrw ;
             ARRAY aArray ;
             HEADERS "IMAGENES";
             COLSIZES 10 ;
           CELL LINES NOBORDER;
           SIZE 140,oTiffEdit:nHeight() PIXEL OF oTiffEdit;
        


   @ 65,145 IMAGE oImage SIZE oTiffEdit:nWidth(),oTiffEdit:nHeight() PIXEL OF oTiffEdit NOBORDER
  
  /*
  oImage:LoadFromMemory( WWONDERS->IMAGE )//Leo el registro activo
  
  ImgAdjust(oImage)  
*/
   WITH OBJECT oBrw
        :aCols[ 1 ]:nDataBmpAlign := AL_CENTER //Centra el bmp en la celda
          :aCols[ 1 ]:nHeadStrAlign := AL_CENTER //Centra el texto de cabecera
          :aCols[ 1 ]:lBmpStretch := .t. //Justifica el bmp en la celda
          :nMarqueeStyle = MARQSTYLE_HIGHLROWMS //Marca multiples líneas.
        :lRecordSelector := .f.
      :nStretchCol      := 1
      :lHScroll         := .f.
      :CreateFromCode()
   END
  //    :bChange          := { || oImage:LoadFromMemory( WWONDERS->IMAGE ), oImage:Refresh() }


   @ 65, 140  SPLITTER oSplit ;
              VERTICAL ;
              PREVIOUS CONTROLS oBrw ;
              HINDS CONTROLS oImage ;
              LEFT MARGIN 120 ;
              RIGHT MARGIN 440 ;
              SIZE 4, oTiffEdit:nHeight()  PIXEL ;
              OF oTiffEdit ;
              _3DLOOK ;
              UPDATE

    
     ACTIVATE WINDOW oTiffEdit MAXIMIZED;
        ON INIT (oBrw:SetFocus()) ;
            ON RESIZE oSplit:AdjRight()
            


return nil
Saludos



Andrés González desde Mallorca

Continue the discussion