FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour XBrowse, ajustar aspecto de las barras de scroll*Solucionado
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
XBrowse, ajustar aspecto de las barras de scroll*Solucionado
Posted: Mon Jun 01, 2015 01: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 (fw): Select all Collapse
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" :-) :-)
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: XBrowse, ajustar aspecto de las barras de scroll
Posted: Mon Jun 01, 2015 02:54 PM
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: XBrowse, ajustar aspecto de las barras de scroll
Posted: Mon Jun 01, 2015 03:01 PM
karinha wrote:http://www.fivetechsoft.com/wiki/doku.php?id=fivewin_funcion_getscrollpos

http://www.fivetechsoft.com/wiki/doku.php?id=fivewin_funcion_getscrollrange


karinha, no va por ah铆 la cosa. Quiero modificar el aspecto "visual" de las barras.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: XBrowse, ajustar aspecto de las barras de scroll
Posted: Mon Jul 06, 2015 09:24 AM

Up!

Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: XBrowse, ajustar aspecto de las barras de scroll
Posted: Mon Jul 06, 2015 02: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!
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
Re: XBrowse, ajustar aspecto de las barras de scroll
Posted: Mon Jul 06, 2015 02: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

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

  2. 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.

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

  4. Type in the same data value you entered for "ScrollHeight" in step 5 above, and click/tap OK.
  5. Close regedit.
  6. 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/
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: XBrowse, ajustar aspecto de las barras de scroll
Posted: Mon Jul 06, 2015 07:18 PM
Puede ser que algo asi te sirva

Code (fw): Select all Collapse
// 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
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: XBrowse, ajustar aspecto de las barras de scroll
Posted: Tue Jul 07, 2015 08: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 (fw): Select all Collapse
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
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: XBrowse, ajustar aspecto de las barras de scroll
Posted: 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 (fw): Select all Collapse
Warning W8065 .\\prg\\conta.prg 1166: Call to function 'Sizeof' with no prototype in function HB_FUN_NONCLIENT


Angel, puedes probar

Code (fw): Select all Collapse
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
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: XBrowse, ajustar aspecto de las barras de scroll
Posted: Wed Jul 08, 2015 09:11 AM
Esto es lo que obtengo

Code (fw): Select all Collapse
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
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: XBrowse, ajustar aspecto de las barras de scroll
Posted: 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
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: XBrowse, ajustar aspecto de las barras de scroll
Posted: 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
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: XBrowse, ajustar aspecto de las barras de scroll*Solucionado
Posted: 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
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: XBrowse, ajustar aspecto de las barras de scroll*Solucionado
Posted: 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 (fw): Select all Collapse
#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
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: XBrowse, ajustar aspecto de las barras de scroll*Solucionado
Posted: 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 (fw): Select all Collapse
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 (fw): Select all Collapse
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