Metro resize

Metro resize

Postby LordJonas » Sat Jul 19, 2014 8:23 pm

He presentado una solicitud cuyo aspecto se basa en tmetro clase. En el PC funciona bien, pero el portátil no se ajusta a las dimensiones de la pantalla.

Tengo que forzar tmetro clase de auto-ajuste?

Gracias de antemano
LordJonas
 
Posts: 35
Joined: Wed Jun 30, 2010 8:04 pm

Re: Metro resize

Postby Antonio Linares » Sat Jul 19, 2014 9:23 pm

Que resolución tienes en ambos ordenadores ?

Puedes mostrar el código de cómo lo has programado ?
regards, saludos

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

Re: Metro resize

Postby LordJonas » Sun Jul 20, 2014 10:46 am

Buenas...

La resolución es de 1920x1080 en el PC y el portátil es de 1024x768.

El código fuente que estoy utilizando se basa en el ejemplo metro.prg que está en el directorio de ejemplos de FWH.

Code: Select all  Expand view
// -------------------------------------------------------------------------- //
// ----------------------------- Defini‡äes iniciais ------------------------ //
// -------------------------------------------------------------------------- //

#include "FiveWin.ch"
#include "metro.ch"

extern DbfCdx
       
// -------------------------------------------------------------------------- //
// --------------------------- Programa principal --------------------------- //
// -------------------------------------------------------------------------- //

FUNCTION Main()

    LOCAL oMain
   
    MsgLogo( "..\gfx\logotipo.png" )
        
    SET DATE TO  BRITISH
    SET DELETE   ON
    SET CONFIRM  ON
    SET SOFTSEEK ON
    
    REQUEST DBFCDX
    
    RddSetDefault( "DBFCDX" )
    
    // --------------------------------------------------------- //
    // ------------------ Inic¡o do programa ------------------- //
    // --------------------------------------------------------- //

    DEFINE METRO oMain ;
           TITLE "GESTAO INTEGRADA DA AUTARQUIA" ;
           BACKGROUND "..\gfx\logotipo.bmp"
           
    DEFINE METROBUTTON OF oMain ;
           PROMPT "Residentes" ;
           COLOR CLR_WHITE, RGB( 234, 112, 39 ) ;
           IMAGE "..\gfx\users.bmp"
          
    DEFINE METROBUTTON OF oMain ;
            PROMPT "Sair" ;
             COLOR CLR_WHITE, RGB( 2, 174, 224 ) ;
             IMAGE "..\gfx\exit.bmp" ;
             ACTION If( MsgYesNo( "Want to exit ?" ), oMain:End(),)  
          
    ACTIVATE METRO oMain

RETURN nil


Utilizo FWH 13:15 Harbour + 3.2 + BCC 5.8.2
LordJonas
 
Posts: 35
Joined: Wed Jun 30, 2010 8:04 pm

Re: Metro resize

Postby cnavarro » Sun Jul 20, 2014 5:00 pm

Prueba a usar una funcion parecida a esta

Code: Select all  Expand view

Function CalculaRes( nTp )  // nTp -> 0 Ancho   nTp -> 1 Alto
local nAncho
local nAlto
local nPorcAnc
local nPorcAlt
DEFAULT nTp   := 0

      nAncho  := GetSysMetrics( 0 )  
      nAlto   := GetSysMetrics( 1 )  
      nPorcAnc   := Round( ( nAncho/1920 ) , 4 )
      nPorcAlt   := Round( ( nAlto/1080 ) , 4 )

Return IF( Empty( nTp ), nPorcAnc, nPorcAlt )

 


De esta manera en el metodo New de TMetro, aplicala a
Code: Select all  Expand view

METHOD New( cTitle, nBtnWidth, nBtnHeight, cFileName ) CLASS TMetro

   DEFAULT cTitle := "MyApp", nBtnWidth := 132, nBtnHeight := 132
   
   ::cTitle     = cTitle
   ::aButtons   = {}
   ::nBtnWidth  = nBtnWidth
   ::nBtnHeight = nBtnHeight
   ::nOriginX   = Round( 200 * CalculaRes( 0 ), 0 )   // Aqui
   ::nOriginY   = Round( 200 * CalculaRes( 1 ), 0 )   // Aqui
   ::nRow       =   0
   ::nCol       =   0
.../...

 


A ver si así te funciona mejor
Aunque si no pones una imagen no puedo saber cual es exactamente tu problema
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: 6504
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Metro resize

Postby LordJonas » Sun Jul 20, 2014 5:53 pm

Buenas

Mi problema es que la misma aplicación de prueba (estoy convirtiendo algunas de las aplicaciones que tienen el aspecto de metro) en el PC con bajas resoluciones (800x600 y 1024x768) pantalla de la aplicación no se consiga el sistema y no todos aparecen en la pantalla ...
LordJonas
 
Posts: 35
Joined: Wed Jun 30, 2010 8:04 pm

Re: Metro resize

Postby Antonio Linares » Mon Jul 21, 2014 11:07 am

Prueba con el cambio que te ha indicado Cristobal
regards, saludos

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


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 29 guests