XBrowse, ajustar aspecto de las barras de scroll*Solucionado

XBrowse, ajustar aspecto de las barras de scroll*Solucionado

Postby AngelSalom » Mon Jun 01, 2015 1:56 pm

Hola amigos, ¿sería posible en un xBrowse ajustar el ancho de la barra vertical de scroll así como el alto de la barra horizontal de scroll?
Estoy diseñando una aplicación para una pantalla táctil de 8 pulgadas y el tamaño actual de las barras lo hace inmanejable.
Probé con esta modificación en el método Initiate del xBrowse sin resultado.

Code: Select all  Expand view  RUN
METHOD Initiate( hDlg ) CLASS TXBrowse

   local oBrush

   if ::oBrush != nil
      oBrush := ::oBrush
      ::oBrush := nil
   endif

   if hDlg != nil
      Super:Initiate( hDlg )
//      ::SetColor( CLR_BLACK, GetSysColor( COLOR_WINDOW ) ) // Was resetting colors already set. Now commented out v9.12
   endif

   if ::lVScroll .or. lAnd( GetWindowLong( ::hWnd, GWL_STYLE ), WS_VSCROLL )
      DEFINE SCROLLBAR ::oVScroll VERTICAL OF Self
      /// Modifico ancho
      ::oVScroll:nWidth:=100
   endif

   if ::lHScroll .or. lAnd( GetWindowLong( ::hWnd, GWL_STYLE ), WS_HSCROLL )
      DEFINE SCROLLBAR ::oHScroll HORIZONTAL OF Self
      // Modifico alto
     ::oHScroll:nHeight:=100
   endif
 


Gracias,
Por cierto : Las aplicaciones FW en las tablets con Windows 8.1 van "a toda velocidad" :D :D
Last edited by AngelSalom on Wed Jul 08, 2015 10:45 am, edited 1 time in total.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: XBrowse, ajustar aspecto de las barras de scroll

Postby karinha » Mon Jun 01, 2015 2:54 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7872
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: XBrowse, ajustar aspecto de las barras de scroll

Postby AngelSalom » Mon Jun 01, 2015 3:01 pm

Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: XBrowse, ajustar aspecto de las barras de scroll

Postby AngelSalom » Mon Jul 06, 2015 9:24 am

Up!
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: XBrowse, ajustar aspecto de las barras de scroll

Postby joseluisysturiz » Mon Jul 06, 2015 2:31 pm

saludos, no seria mejor si quitas las barras,? asi ocuparia menos espacio el xbrowse, saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: XBrowse, ajustar aspecto de las barras de scroll

Postby Biel EA6DD » Mon Jul 06, 2015 2:45 pm

Hola Angel, desde programa no creo que se pueda, debes modificar los parámetros WindowsMetrics en el registro.

Creo que lo encontre en microsoft.com, pero tampoco lo se a ciencia cierta, en cualquier caso esto es lo que guarde en mis anotaciones.


1. Press Windows + R keys to open the Run dialog, type regedit, and click/tap OK.

2. If prompted by UAC, then click/tap on Yes.

3. In regedit, navigate to the location below.

HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics

4. In the right pane of WindowMetrics, double click/tap on ScrollHeight to be able to modify it.

5. Type in a data value between -120 to -1500, and click/tap OK.
NOTE: The default value is -255. A higher value (ex: -1000) will give you a wider scrollbar, and lower value (ex: -100) will give you a thinner scrollbar.

6. In the right pane of WindowMetrics, double click/tap on ScrollWidth to be able to modify it.
7. Type in the same data value you entered for "ScrollHeight" in step 5 above, and click/tap OK.
8. Close regedit.
9. Sign-out from your user account, sign-in again and check.

Espero te sea de utilidad. Evidentemente esto no ajusta los scrolls de xBrowse sino todas las barras de scroll de windows. Pero bueno en el fondo casi mejor, pues hace algo más manejable el entorno en modo táctil.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Re: XBrowse, ajustar aspecto de las barras de scroll

Postby cnavarro » Mon Jul 06, 2015 7:18 pm

Puede ser que algo asi te sirva

Code: Select all  Expand view  RUN

// Devuelve el valor
HB_FUNC ( NONCLIENT )
{
   
   NONCLIENTMETRICS mi;
   
   memset( ( char * ) &mi, 0, sizeof( NONCLIENTMETRICS ) );
   mi.cbSize = sizeof( NONCLIENTMETRICS );
   SystemParametersInfo( SPI_GETNONCLIENTMETRICS, 0, &mi, 0);

   hb_retnl( ( LONG ) mi.iScrollWidth );
   //hb_retnl( ( LONG ) mi.iCaptionHeight ) ;
   //hb_retnl( ( LONG ) mi.iMenuHeight ) ;
   //hb_retnl( ( LONG ) mi.iScrollHeight  ) ;  // Scroll Horizontal
   
   // Grabar el valor?

   //mi.iScrollWidth = hb_parnl( 1 );
   //SystemParametersInfo( SPI_SETNONCLIENTMETRICS, Sizeof( mi ), &mi, 0 ); //SPIF_SENDCHANGE);  // Update Win.ini

}

 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6552
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: XBrowse, ajustar aspecto de las barras de scroll

Postby AngelSalom » Tue Jul 07, 2015 8:30 am

Hola cnavarro, gracias por la función. Devuelve correctamente el ancho actual pero al descomentar el apartado de grabar el valor y compilar obtengo este error :

Code: Select all  Expand view  RUN
Warning W8065 .\\prg\\conta.prg 1166: Call to function 'Sizeof' with no prototype in function HB_FUN_NONCLIENT
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: XBrowse, ajustar aspecto de las barras de scroll

Postby cnavarro » Tue Jul 07, 2015 10:36 am

AngelSalom wrote:Hola cnavarro, gracias por la función. Devuelve correctamente el ancho actual pero al descomentar el apartado de grabar el valor y compilar obtengo este error :

Code: Select all  Expand view  RUN
Warning W8065 .\\prg\\conta.prg 1166: Call to function 'Sizeof' with no prototype in function HB_FUN_NONCLIENT


Angel, puedes probar

Code: Select all  Expand view  RUN

sizeof( NONCLIENTMETRICS )
 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6552
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: XBrowse, ajustar aspecto de las barras de scroll

Postby AngelSalom » Wed Jul 08, 2015 9:11 am

Esto es lo que obtengo

Code: Select all  Expand view  RUN
Error E2108 .\\prg\\CONTA.prg 1166: Improper use of typedef 'NONCLIENTMETRICS' in function HB_FUN_NONCLIENT
Warning W8065 .\\prg\\CONTA.prg 1166: Call to function 'Sizeof' with no prototype in function HB_FUN_NONCLIENT
*** 1 errors in Compile ***
 
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: XBrowse, ajustar aspecto de las barras de scroll

Postby cnavarro » Wed Jul 08, 2015 10:01 am

Intenta en minúsculas: sizeof( mi )
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6552
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: XBrowse, ajustar aspecto de las barras de scroll

Postby AngelSalom » Wed Jul 08, 2015 10:44 am

¡Ahora perfecto! Muchas gracias!!
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: XBrowse, ajustar aspecto de las barras de scroll*Solucionado

Postby cnavarro » Wed Jul 08, 2015 10:54 am

Angel, si no te importa, informa del resultado de tus pruebas
Saludos
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6552
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: XBrowse, ajustar aspecto de las barras de scroll*Solucionado

Postby AngelSalom » Wed Jul 08, 2015 12:38 pm

Aquí va un ejemplo funcional probando todos los parámetros, el funcionamiento es espectacular ya que se redimensiona todo "al vuelo" ... y de paso aprovecho para preguntarte cómo puedo hacer un hb_ret con un array de los valores antes de modificarlos (para al salir de la aplicación poder dejarlo todo "como estaba")

Code: Select all  Expand view  RUN
#include "fivewin.ch"
#include "xbrowse.ch"

Function Main()
Local oDlg, oBrw

   DEFINE DIALOG oDlg SIZE 300, 200

   @ 0, 0 XBROWSE oBrw OF oDlg ARRAY { { "one","two","three" } } AUTOCOLS
     
   oBrw:CreateFromCode()
     
   ACTIVATE DIALOG oDlg CENTER ON INIT ( oDlg:oClient := oBrw, oDlg:Resize(), NonClient (25,25,20,20) )
 
Return (nil)

#pragma BEGINDUMP
#include "windows.h"
#include "hbapi.h"
#include "hbcomp.h"


HB_FUNC ( NONCLIENT )
{
   
   NONCLIENTMETRICS mi;
   
   memset( ( char * ) &mi, 0, sizeof( NONCLIENTMETRICS ) );
   mi.cbSize = sizeof( NONCLIENTMETRICS );
   SystemParametersInfo( SPI_GETNONCLIENTMETRICS, 0, &mi, 0);

   // ¿Cómo devolver un array con los valores?
   
   //hb_retnl( ( LONG ) mi.iScrollWidth );
   //hb_retnl( ( LONG ) mi.iCaptionHeight ) ;
   //hb_retnl( ( LONG ) mi.iMenuHeight ) ;
   //hb_retnl( ( LONG ) mi.iScrollHeight  ) ;  // Scroll Horizontal
   
   // Grabar el valor

   mi.iScrollWidth = hb_parnl( 1 );
   mi.iScrollHeight = hb_parnl( 2 );
   mi.iCaptionHeight = hb_parnl ( 3 );
   mi.iMenuHeight = hb_parnl ( 4 );
   
   SystemParametersInfo( SPI_SETNONCLIENTMETRICS, sizeof( mi ), &mi, 0 ); //SPIF_SENDCHANGE);  // Update Win.ini

}

#pragma ENDDUMP

 
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: XBrowse, ajustar aspecto de las barras de scroll*Solucionado

Postby AngelSalom » Wed Jul 08, 2015 12:55 pm

Respecto a devolver un array con los valores antes de modificarlos estoy probando con este código dentro de la función nonclient

Code: Select all  Expand view  RUN
hb_reta(4);
   hb_stornl(mi.iScrollWidth, -1, 1);
   hb_stornl(mi.iScrollHeight,-1, 2);
   hb_stornl(mi.iCaptionHeight, -1, 3);
   hb_stornl(mi.iMenuHeight, -1, 4);
   


Pero al compilarlo arroja :

Code: Select all  Expand view  RUN

Compiling...
Harbour 3.1.0dev (Rev. 17025)
Copyright (c) 1999-2011, http://harbour-project.org/
Compiling 'testscr.prg' and generating preprocessed output to 'testscr.ppo'...
Lines 4096, Functions/Procedures 1
Generating C source output to 'testscr.c'... Done.
Borland C++ 5.82 for Win32 Copyright (c) 1993, 2005 Borland
testscr.c:
Error E2227 testscr.prg 37: Extra parameter in call to hb_stornl in function HB_FUN_NONCLIENT
Error E2227 testscr.prg 38: Extra parameter in call to hb_stornl in function HB_FUN_NONCLIENT
Error E2227 testscr.prg 39: Extra parameter in call to hb_stornl in function HB_FUN_NONCLIENT
Error E2227 testscr.prg 40: Extra parameter in call to hb_stornl in function HB_FUN_NONCLIENT
*** 4 errors in Compile ***
* Linking errors *
 
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: FiveWiDi, Google [Bot] and 114 guests