Pequeña aportacion TBarBRW()

Pequeña aportacion TBarBRW()

Postby jll-fwh » Sun Nov 21, 2010 2:38 am

Hola a todos:

Normalmente por intentar hacer las aplicaciones lo mas rapido posible, copiamos de programas viejos codigo fuente lo modificamos y lo acoplamos al nuevo modulo, sabiendo que tenemos duplicadas funciones que al fin y al cabo hacen lo mismo, al menos a mi me pasa, como por ejemplo: procedimientos que manejan Browses y tengo una funcion que ircorpora una barra de botones para manejar dicho Browse. Pues en el caso, de tener 15 procedimientos, pues tengo, 15 funciones que al final hacen lo mismo. MAL, pero asi lo tengo.

Pues estoy creando nuevas clases para intentar ahorrar el maximo posible de codigo fuente y a su vez que sea lo mas claro y conciso posible.

La clase TBarBRW no es una clase nueva, ni nada en especial, pero para mi es muy util, ya que embebe una barra de botones automaticamente en los Browse con tal solo una linea de codigo.

Ademas de las propiedades nativas, le podemos indicar la situacion donde queremos que se cree ya sea, arriba, abajo, izquierda, derecha, estilo office 2007, 3D, Groups, menu popup, etc ( leer la pequeña ayuda que esta en el fuente del programa ). No he creado ningun ejemplo, porque simplemente tenemos que crear el objeto y automaticamente se creara con dichas propiedades. Abajo he dejado unas imagenes de como queda en funcion de los parametros que le damos cuando la creamos.

Para crear el objeto por ejemplo podemos hacerlo asi: ( esto crearia lo que vemos en la imagen-1): En el fuente teneis algunos detalles de uso mas concretos, como por ejemplo, uso de la propiedad Toogle(), menu popus, etc.

El crearla es simple y llanamente porque para mi es de mucha utilidad, que con esta linea de codigo fuente, he incrustado una barra de botones y me olvido totalmente de ella, si por ejemplo, modifico el recurso y subo o bajo el Browse, no tengo que tocar nada, cuando ejecuto la clase, ella ya localizara las posiciones del Browse y incrustara la barra donde debe.

Aqui os dejo el fuente de la clase:
http://www.proyectos-meliana.es/basura/tBarBRW.zip

Code: Select all  Expand view


    oBar := TBarBRW():New( oDlg                             ,; // Objeto Dialog/Window
                           oGrid                            ,; // Objeto xBrowse
                           "TOP"                            ,; // Situacion de la barra
                           { "vMenu_Nuevo"                  ,; // BMP para el 1 boton
                             "vMenu_Modificar"              ,; // BMP para el 2 boton
                             "vMenu_Consultar"              ,; // BMP para el 3 boton
                             "vMenu_Anular"                 ,; // BMP para el 4 boton
                             "vMenu_Excel"                  ,; // BMP para el 5 boton
                             "vMenu_Imprimir"}              ,; // BMP para el 6 boton
                           { "Nuevo"                        ,; // ToolTip para el 1 boton
                             "Modificar"                    ,; // ToolTip para el 2 boton
                             "Consultar"                    ,; // ToolTip para el 3 boton
                             "Anular"                       ,; // ToolTip para el 4 boton
                             "Excel"                        ,; // ToolTip para el 5 boton
                             "Imprimir"                    },; // ToolTip para el 6 boton
                           { { |  MsgInfo( "Nuevo")        },; // ACTION para el 1 boton
                             { || MsgInfo( "Modificar")    },; // ACTION para el 2 boton
                             { || MsgInfo( "Consultar")    },; // ACTION para el 3 boton
                             { || MsgInfo( "Anular")       },; // ACTION para el 4 boton
                             { || MsgInfo( "Excel")        },; // ACTION para el 5 boton
                             { || MsgInfo( "Imprimir")    }},; // ACTION para el 6 boton
                           { .F., .F., .F., .F., .F., .F.  },; // GROUP para cada Boton
                           .F.,;                               // Si crea la barra en 2007
                           .T. )                               // Si crea la en 3D
 
 


Barra de botones en la parte superior
Image

Barra de botones en la parte inferior
Image

Barra de botones en la parte izquierda
Image

Barra de botones en la parte derecha
Image

Barra de botones en la parte superior con GROUPs
Image

Barra de botones en la parte superior con propiedad Toggle()
Image

Barra de botones en la parte superior con menu popup.
Image

Barra de botones en la parte superior estilo Office 2007
Image

P.D Esta tarde despues de crear esta clase, he modificado la clase TPreview(), ya que no encontrado nada al respecto sobre nuevas modificaciones de esta clase. De momento he modificado/añadido lo siguiente:

- Mayor tamaño en los botones.
- ComboBox en la barra de botones para poder seleccionar las impresoras que se disponen en el sistema.
- Get ( ir a: ) en la barra de botones para poder indicarle a que pagina queremos ir.
- Un nuevo boton para la creacion de PDF, usando la DLL ImagePDF.
- Modificacion de Say que indica el numero de paginas/pagina actual que en ocasiones no se visualizaba.
- Modificacion del cursor Lupa.

A ver si tengo tiempo y le añado un monton de cosas que tengo pensadas que creo que seria interesante y si ha alguien le interesan estas modificaciones, publicare los fuentes tambien.

Imagen de las moficiaciones:
Image

Espero que os sea de utilidad.

Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
User avatar
jll-fwh
 
Posts: 408
Joined: Fri Jan 29, 2010 8:14 pm
Location: Meliana - Valencia

Re: Pequeña aportacion TBarBRW()

Postby Antonio Linares » Sun Nov 21, 2010 7:38 am

JLL,

gracias!!! :-)
regards, saludos

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

Re: Pequeña aportacion TBarBRW()

Postby Adolfo » Sun Nov 21, 2010 2:48 pm

JLL

Gracias, encuentro muy buena la Baara del browse, pero sin duda me interesan tus modificaciones a la rPreview, si es posible, enviamela a mi mail.

adolfo_lagos (at) hotmail.com

Saludos y gracias

Desde Chile
Adolfo
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650
User avatar
Adolfo
 
Posts: 860
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Re: Pequeña aportacion TBarBRW()

Postby jll-fwh » Sun Nov 21, 2010 8:00 pm

Hola Adolfo:

Muchas gracias. Sobre las modificaciones de la clase TPreview(), dejarme unos dias que acabe un trabajo y la subire, ya que quiero darle algunas vueltas a ver que mas se puede añadir.

Si teneis algo pensado, hacermelo saber y lo aplicare.

Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
User avatar
jll-fwh
 
Posts: 408
Joined: Fri Jan 29, 2010 8:14 pm
Location: Meliana - Valencia

Re: Pequeña aportacion TBarBRW()

Postby reinaldocrespo » Sun Nov 21, 2010 10:24 pm

JLL;

Hola. Ya que modificas tpreview(), no será aun mejor si se le añade una data que se pueda modicar conteniendo el resource y la accion a ejecutar para la barra de botones? De esta manera el desarrollador puede añadir el boton que quiera/necesite.


Reinaldo.
User avatar
reinaldocrespo
 
Posts: 979
Joined: Thu Nov 17, 2005 5:49 pm
Location: Fort Lauderdale, FL

Re: Pequeña aportacion TBarBRW()

Postby jll-fwh » Tue Nov 23, 2010 1:44 am

ok, reinaldo.

un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
User avatar
jll-fwh
 
Posts: 408
Joined: Fri Jan 29, 2010 8:14 pm
Location: Meliana - Valencia


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 43 guests