uan de wbrowse...

Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

uan de wbrowse...

Post by Francisco Horta »

Hola Foro,

como puedo combinar imagen y texto en un header?
Gracias,
Paco :)
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Paco,

No está implementado como tal, pero si revisas source\classes\wbrowse.prg verás la función wBrwLine que es la encargada de dibujar cada línea del browse.

No sería muy complicado modificarla para que dibuje una imagen en una determinada columna de la cabecera.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Hernan Diego Ceccarelli
Posts: 84
Joined: Fri Oct 07, 2005 4:51 pm
Location: Rosario - Santa Fe - Argentina
Contact:

Re: uan de wbrowse...

Post by Hernan Diego Ceccarelli »

Francisco Horta wrote:Hola Foro,

como puedo combinar imagen y texto en un header?
Gracias,
Paco :)
Tal como dice Antonio, no seria muy dificil modificar codigo, aunque no es para todo el mundo :(. !!!

Respecto a la TW Version 18 (soon que la tengo en beta) puedes hacerlo desde un bloque de codigo nuevo, ejecutado desde C, para no retardar tanto el pintado de las cabeceras, y puedes ejecutar 2 cosas.

Code: Select all

Los bloques se ejecutan por celda al momento de pintado. Dichas variables son ::bPrevPaint y ::bNextPaint. El primero se usa para
poder escribir en la celda en forma personalizada ANTES del pintado estandard de la celda,  y ::bNextPaint se ejecuta DESPUES del pintado normal. Esto le da FLEXIBILIDAD TOTAL a la clase.  Valores que puede devolver el bloque ::bPrevPaint;
      >---> <0> El pintado por defecto NO se hara, por lo tanto es su resposabilidad cubrir  el area total de la celda
      >---> <1> El pintado por defecto SI se hara EXCEPTO el Texto, por lo tanto es su resposabilidad pintar un texto especifico en la celda.
      >---> <Otro valor distino> Indicara que SI debe hacerse el pintado por defecto de la celda. 
Los bloques reciben los siguientes parametros:

 {|nRow,nCol,nStyle,hDC,cChar,nTop,nLeft,nBottom,nRight| <su codigo> }
Entre otras cosas, tendremos como novedades headers nativas sobre 32bit opcional, con correcta implementacion pudiendo en tiempo de ejecucion cambiar a viejas o nuevas, posibilidad de freezear el browse permitiendo que no se refresque ni se muevan punteros de ningun tipo en el pintado, algo asi como sacar una foto y dejarlo asi hasta que uno decida, mejoras de velocidad, doble buffer opcional y sin doble buffer tambien el browse no produce parpadeos practicamente, algunas nuevas implementaciones, posiblidad ejecutar manejo de keychar y keydown definidos por el usuario, etc,etc,etc. estas seran algunas de las cosas nuevas. Pronto en las bateas :D

Una MINI implementacion un beta tester:, como vemos usa los nuevos bloques y usa los bColor, alineaciones especiales y solo pinta caracteres en el cotextor de dispositivo. No usa imagenes pero podria haberlo hecho :D
Image
User avatar
RuFer
Posts: 140
Joined: Sat Oct 08, 2005 5:16 pm
Location: Uruguay

HDC - se ve ESPECTACULAR...

Post by RuFer »

Hernán lo que se ve parece muy bueno.

Muchas gracias desde ya...

Saludos

Ruben Fernandez
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: uan de wbrowse...

Post by Francisco Horta »

UUUPPPPPSSS Hernan; Fabulosa !!! Grandiosa !!!
100% comentario aceptado, no todos tenemos la capacidad de mover fuentes !!, jejeje puede ser mi caso, pero voy a ver que saco.
Esperamos (de seguro todo el foro) ansiosos tu version 18
Suerte !!
Salu2
Paco
User avatar
Yannis
Posts: 13
Joined: Fri Oct 07, 2005 2:41 pm
Location: Greece
Contact:

Post by Yannis »

Hernan, lo que describes es una maravilla ! :)
Las celdas personalizadas abren nuevos horizontes, y desde ya estoy pensando como disfrutar este nuevo browser.
Felicidades por este excelente trabajo !

Un saludo
Yannis
http://www.trinityvision.gr
personal photography page:
http://www.letrentis.com
User avatar
Hernan Diego Ceccarelli
Posts: 84
Joined: Fri Oct 07, 2005 4:51 pm
Location: Rosario - Santa Fe - Argentina
Contact:

Post by Hernan Diego Ceccarelli »

Yannis wrote:Hernan, lo que describes es una maravilla ! :)
Las celdas personalizadas abren nuevos horizontes, y desde ya estoy pensando como disfrutar este nuevo browser.
Felicidades por este excelente trabajo !

Un saludo
Exacto, si bien las celdas personalizadas hacen a la flexibilidad, NO hay que abusar de los tiempos de pintado, entonces ahi juega un papel muy importante cuan optimizado sea ese codigo. Si la funcion esta hecha en lenguaje C seria todo mas rapido, en PRG tambien seria posible, pero bueno, dependera de cuan complicada sea. Las pruebas hechas sobre PRG han sido satisfactorias realmente y comviene mucho usar el doble buffer en _, casi obligatoriamente.

Salu2
User avatar
Yannis
Posts: 13
Joined: Fri Oct 07, 2005 2:41 pm
Location: Greece
Contact:

Post by Yannis »

Hernan,
Entiendo lo que dices sobre la optimizacion del codigo. Es evidente que los .prg seran mucho mas lentos. Un trabajo mas para uno como yo que del lenguaje C no entiende un....
Pero, este browser ya es un paso gigante en adelante !!!.
Muchas gracias por tu tiempo !
Un saludo,
Yannis
http://www.trinityvision.gr
personal photography page:
http://www.letrentis.com
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: una de wbrowse...

Post by Francisco Horta »

En efecto, no entiendo nada de .c asi que mejor ahi le dejo, no se me da, :cry:
Gracias a ambos Antonio y Hernan
Salu2
Paco
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Post by Francisco Horta »

Hernan,
Esta nueva version 18, esta super!!, algun dia se liberará o sera de paga?
si es asi, para cuando tendriamos noticias del precio y una liberacion?
salu2
paco
R.F.
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

Re: uan de wbrowse...

Post by R.F. »

Francisco Horta wrote:Hola Foro,

como puedo combinar imagen y texto en un header?
Gracias,
Paco :)
Algo como esto ????:

Image

Esta hecho con el browse de Hernan.
Saludos
R.F.
User avatar
jose_murugosa
Posts: 943
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Post by jose_murugosa »

Sinceramente desde que conocí el "Browse de Hernán" lo hice mi browse, por su simplicidad y rapidez.
Gracias Hernán por el tiempo que dedicas a esta herramienta y sobre todo por compartirla con la comunidad.
Tu trabajo es admirable.
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Post by Francisco Horta »

Efectivamente rene, tambien uso el browse de hernan, aqui mi duda viene en que yo no he podido mezclar, texto+imagen en las cabeceras, y en el sample que publica hdc utiliza los headers nativos, y en la version 17 no los tiene implementados.
Asi como jose yo tambien uso wbrowse desde que la use la primera vez, ya le he metido mano en algunos detalles y pues me he atrevido a subirla al foro sin consultar a hdc, esto para compartirlo con todos, gracias hdc por tu aporte.
salu2
Paco
Susy
Posts: 35
Joined: Wed Nov 15, 2006 4:04 pm

Re: uan de wbrowse...

Post by Susy »

RF wrote:
Francisco Horta wrote:Hola Foro,

como puedo combinar imagen y texto en un header?
Gracias,
Paco :)
Algo como esto ????:

Image

Esta hecho con el browse de Hernan.
Hola maestro Rene, como esta corazon pues, me llamo Susy y me interesa la clase de Hernan y el ejemplo que muestras con la imagen y celdas con sus totales, es de paga o podria aportar gratuito a los demas usuarios y si me podria enviar un claro ejemplo que muestras en la imagen, gracias y se lo agradecere eternamente maestro, besos y abrazos desde michoacan , su amiga Susy :)
susan_mx@hotmail.com
R.F.
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

Post by R.F. »

Ok, para todos ustedes, este es el secreto:

Como todo en FiveWin, son "efectos especiales", y en realidad, nada es lo que parece.

1) Necesitamos el Browse de Hernan, cualquier versión, (el truco funciona tambén con xBrowse) para mayor información sobre los browses de FW, les recomiendo que lean mi articulo "Browse VS Browse"

2) Es raro que el titulo de una cabecera cambie, asi que en realidad, lo que están viendo mis queridos amigos, es un bitmap que incluye el texto y la imagen, en realidad son 4 bitmap, 2 incluyen la imagen "habilitada" y 2 la imagen "deshabilitada":

Image


El color del fondo es lo de menos, recuerden que FW utiliza el byte 1,1 para definir el color de la transparencia

3) Antes de definir el browse, cargamos los bitmaps en la memoria:

Code: Select all

hBmp1 := LoadBitmap(GETRESOURCES(),"HEADER1"))
hBmp2 := LoadBitmap(GETRESOURCES(),"HEADER2"))
hBmp3 := LoadBitmap(GETRESOURCES(),"HEADER3"))
hBmp4 := LoadBitmap(GETRESOURCES(),"HEADER4"))
4) Definimos el browse como se hace normalmente:

Code: Select all

 @ 0,205 LISTBOX oBrw FIELDS ....
5) Definimos sus headers:

Code: Select all

 oBrw:aHeaders := {" ",hBmp1,hBmp3,"Tipo","SubTipo","Naturaleza"}

6) y luego para cambiar dinamicamente los headers con su respectivo bitmap en tiempo de ejecucion:

Code: Select all

oBrw:aActions :={{|| NIL},{|x| CamHeader(x,1)},{|x| CamHeader(x,2)}}
7) la función CamHeader(<oBrw>,<nOrden>):

Code: Select all

FUNCTION CamHeader(oBrw,nIndex)
   IF nIndex == 1
      (oBrw:cAlias)->(OrdSetFocus('numcuenta'))
//aqui viene la magia, volvemos apintar el header completo, cambiando los bmps del header
      oBrw:aHeaders := {" ",hBmp1,hBmp3,'Tipo','SubTipo','Naturaleza'}
   ELSE
      (oBrw:cAlias)->(OrdSetFocus('nomcta'))
      oBrw:aHeaders := {" ",hBmp2,hBmp4,'Tipo','SubTipo','Naturaleza'}
   ENDIF
   oBrw:Refresh()
RETURN (.T.)

Y eso es todo.
Last edited by R.F. on Wed Aug 01, 2007 10:54 pm, edited 1 time in total.
Saludos
R.F.
Post Reply