Ocultar Barra Horizontal y Vertical en xBrowse (SOLUCIONADO)

Post Reply
User avatar
checo176
Posts: 46
Joined: Wed Apr 20, 2011 3:08 pm

Ocultar Barra Horizontal y Vertical en xBrowse (SOLUCIONADO)

Post by checo176 »

Estimados del Foro:

Quisiera compartir un problema que tuve en un Proyecto que estaba desarrollando, en donde usaba xBrowse desde recursos. El problema radicaba en que por defecto el recurso entregado en los ejemplos de FWH, viene con las propiedades WS_VSCROLL y WS_HSCROLL activadas, y al tratar de intervenir el Recurso con las siguientes sentencias no ocurría nada y seguían activas ambas

oBrw:lHScroll := .f.
oBrw:lVScroll := .f.

Bueno gracias a una idea de Armando Lagunas, pude resolver el problema y sólo fue necesario eliminar las propiedades del recurso TXBrowse en Windows Styles, cambiándole la codificación correcta. Como la codificación de este recurso no esta disponible, y no se puede modificar en Pelles C, se pudo obtener usando el antiguo Workshop 4.5, que si permite modificar las propiedades, ya que luego haber grabado el proyecto en WS 4.5 y abriéndo posteriormente el archivo res en Pelles C, se pudo obtener la codificación correcta para cada cambio de propiedad en el recurso.

De este modo se pudo obtener la codificación correcta para cada efecto sobre el recurso TXBrowse:

A continuación les muestro el resultado en cada uno de _:

Recurso TXBrowse obtenido de los ejemplos en FWH:

Window Style: 0x50310000

Image
imag

Así se ve el recurso en ejecución, donde se ve ambas barras Horizontal y Vertical por defecto activadas:

Image
subefotos


TxBrowse sin barra Horizontal:

Windows Style: 0x50210000

Image
sube fotos

Ahora el recurso en ejecución:

Image
imagenes gratis


TxBrowse sin barra Horizonta y Vertical:

Windows Style: 0x50010000

Image
subirimagenes

Ahora el recurso en ejecución:

Image
imagen


TxBrowse sin barra Horizonta, Vertical y con Borde:

Windows Style: 0x50810000

Image
subir imagenes

Finalmente el recurso en ejecución:

Image
sube fotos


Bueno si se pueden dar cuenta a veces hay que recurrir a trucos de este tipo para así poder obtener el resultado deseado. Espero que a algunos les haya servido esta ayuda y si alguien tiene por ahí más códigos de Window Style, ya sea para este recurso u otros, creo que sería de gran utilidad para los que usamos Pelles C y usamos archivos de recursos RES, poder compartirlos.

Un abrazo de Chile
Sergio Vacarezza S.
Programador Freelance
sergio@vacarezza.cl
Santiago, Chile

xHarbour 1.2.3 - FWH 13.08 - Advantage 10.1
User avatar
AIDA
Posts: 782
Joined: Fri Jan 12, 2007 8:35 pm

Re: Ocultar Barra Horizontal y Vertical en xBrowse (SOLUCIONADO)

Post by AIDA »

Muy bueno :D

tendras un ejemplo :)

aida_p_z@hotmail.com

Saluditos :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
checo176
Posts: 46
Joined: Wed Apr 20, 2011 3:08 pm

Re: Ocultar Barra Horizontal y Vertical en xBrowse (SOLUCIONADO)

Post by checo176 »

Hola Aida:

El caso que presenté, corresponde a parte del Ejemplo contenido en TestxBr3.prg, ubicado en la carpeta "fhw\samples", de todas formas te adjunto el extrato que preparé para ti.

Este sería el código:

Code: Select all

/*
*  Dialog en Recursos en ejemplo Testxbr3.prg
*/

#include "FiveWin.Ch"
#include "XBrowse.Ch"


REQUEST DBFCDX
MEMVAR  cExpr

static oCon
static cPrg, cFunc

Function RddBrwRes()

   local oDlg, oBrw, oCol, cAlias := cGetNewAlias( "CUST" )
   local aGrad := {{ 0.50, CLR_RED, CLR_YELLOW }, { 0.50, CLR_YELLOW, CLR_RED }}

   cFunc := ProcName( 0 )

   USE CUSTOMER NEW ALIAS (cAlias) SHARED VIA "DBFCDX"
   SET ORDER TO TAG FIRST
   GO TOP

   DEFINE DIALOG oDlg RESOURCE "TEST" //FONT WndMain():oFont

   REDEFINE XBROWSE oBrw ID 101 OF oDlg ;
      COLUMNS "First", "Salary" ;
      FIELDS (cAlias)->State, (cAlias)->Age ;
      HEADERS nil, nil, "State", "AGE" ;
      JUSTIFY .F., nil, .F., .T. ;
      ALIAS cAlias AUTOSORT LINES CELL ;
      BACKGROUND aGrad HORIZONTAL

   ADD TO oBrw DATA (cAlias)->CITY HEADER "City" CARGO { 1, 2 }

   oBrw:bPopUp    := { |o| ColMenu( o ) }
   AEval( oBrw:aCols, { |o| o:cToolTip := { 'Column :' + CRLF + o:cHeader, 'ToolTip' } } )

   ACTIVATE DIALOG oDlg CENTERED ON INIT oBrw:SetFocus()

   (cAlias)->( dbCloseArea() )

return nil

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

static function ColMenu( ocol )

   local oPop

   MENU oPop POPUP 2007
      MENUITEM "Left Align" WHEN oCol:nDataStrAlign > 0 ;
         ACTION ( oCol:SetAlign( AL_LEFT ), oCol:oBrw:SetFocus() )
      MENUITEM "Center Align" WHEN oCol:nDataStrAlign != AL_CENTER ;
         ACTION ( oCol:SetAlign( AL_CENTER ), oCol:oBrw:SetFocus() )
      MENUITEM "Right Align" WHEN oCol:nDataStrAlign != AL_RIGHT ;
         ACTION ( oCol:SetAlign( AL_RIGHT ), oCol:oBrw:SetFocus() )
      MENUITEM "Freeze" ACTION ( oCol:oBrw:nFreeze := oCol:nPos, oCol:oBrw:Refresh(), oCol:oBrw:SetFocus() )
      MENUITEM "Stretch" ACTION ( oCol:oBrw:nStretchCol := oCol:nCreationOrder, oCol:oBrw:Refresh(), ;
                        oCol:oBrw:SetFocus() )

      MENUITEM 'Edit' ;
         WHEN { |o| o:SetCheck( oCol:nEditType > 0 ), .t. } ;
         ACTION ( oCol:nEditType := If( oCol:nEditType > 0, 0, 1 ), ;
                  oMenuItem:SetCheck( oCol:nEditType > 0 ), ;
                  oCol:oBrw:SetFocus() )

   ENDMENU

return oPop
El archivo de recursos (RES) te lo enviaré al correo que me indicas. Yo uso Pelles C para editar los archivos de recursos

Un abrazo desde Chile
Sergio Vacarezza S.
Programador Freelance
sergio@vacarezza.cl
Santiago, Chile

xHarbour 1.2.3 - FWH 13.08 - Advantage 10.1
User avatar
joseluisysturiz
Posts: 2024
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: Ocultar Barra Horizontal y Vertical en xBrowse (SOLUCIONADO)

Post by joseluisysturiz »

Un poco mas, saludos... :shock:

/* styles posibles

0x50000000 -> desta forma ele fica por default com as barras Hor/Vert Ativas, ai sim, basta vc inserir no seu codigo :
0x50D00000 -> Barra Horizontal
0x50A00000 -> Barra Vertical
0x50B00000 -> Barra Horizontal e Vertical
0x50010000 -> sin barras
Dios no está muerto...

Gracias a mi Dios ante todo!
Post Reply