GetSysMetrics en windows 10

GetSysMetrics en windows 10

Postby karinha » Fri Oct 20, 2017 12:31 pm

Esto no funciona en windows 10? Que debo hacer cuando és windows 10?


Code: Select all  Expand view

   pVideo := GetSysMetrics(0)

   IF( pVideo < 1024 ) .OR. ( pVideo > 1024 )

      MsgInfo( "Melhor Resoluçao Para o Sistema: 1024 x 768 "+CRLF," Atenção... " )

   ENDIF
 


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

Re: GetSysMetrics en windows 10

Postby Rick Lipkin » Fri Oct 20, 2017 2:37 pm

João

Consider this code _ResMessage() called from the Activate Window code.. Seems to work fine with all Operating Systems including Windows 10 64 bit.

Rick Lipkin

Code: Select all  Expand view

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


nSCR1 := GetSysMetrics(0)  // width
nSCR2 := GetSysMetrics(1)  // height


ACTIVATE WINDOW oWind                                         ;
   MAXIMIZED ;
   ON INIT  ( IF( nSCR1 < 1024, _ResMessage(nSCR1, nSCR2), ),_ChkOwner( oWind,cFirst)); // 560,230
   ON PAINT ( IF( xTEXT = "/NL", ,PalBmpDraw( hDC, 0,0, oBmp:hBitmap,  oBmp:hPalette, nSCR1, nSCR2 )),;
                    PalBmpDraw( hDC, _UpDown(), _RightLeft(), oBMAP:hBitmap, oBMAP:hPalette,305,191 ),;
                    _ChkDemo(@nTimes));
   VALID ( IIF( !lExitPgm, _ExitPgm( .T. ) , .F. ))


//-----------------------------------------------
Static Func _ResMessage( nScr1,nScr2 )

LOCAL SAYING

SAYING := "It appears that your screen resolution is "+str(nSCR1,4)+"x"+STR(nSCR2,4)+" and is below"+chr(10)
SAYING += "the minimum of 1024 x 768. This is not a critical error, however you will"+chr(10)
SAYING += "find some screens and forms in this application that will be too large to fit"+chr(10)
SAYING += "on your screen... just fair warning"+chr(10)

MsgInfo( saying )

RETURN(.T.)
 
User avatar
Rick Lipkin
 
Posts: 2606
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: GetSysMetrics en windows 10

Postby karinha » Fri Oct 20, 2017 2:57 pm

Thank you very much, Mister Rick Lipkin. Doing tests.

Code: Select all  Expand view

#include "FiveWin.ch"

STATIC oWnd

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

FUNCTION Main()

   LOCAL nSCR1, nSCR2

   nSCR1 := GetSysMetrics(0)  // width
   nSCR2 := GetSysMetrics(1)  // height

   DEFINE WINDOW oWnd TITLE "GetSysMetrics test win 10"

   ACTIVATE WINDOW oWnd MAXIMIZED ;
      ON INIT ( IF( nSCR1 < 1024 .OR. nSCR1 > 1024, _ResMessage( nSCR1, nSCR2), ) )

RETURN NIL

//-----------------------------------------------
Static Function _ResMessage( nScr1, nScr2 )

   LOCAL SAYING

   SAYING := "It appears that your screen resolution is "+str(nSCR1,4)+"x"+STR(nSCR2,4)+" and is below"+chr(10)
   SAYING += "the minimum of 1024 x 768. This is not a critical error, however you will"+chr(10)
   SAYING += "find some screens and forms in this application that will be too large to fit"+chr(10)
   SAYING += "on your screen... just fair warning"+chr(10)

   MsgInfo( saying )

RETURN(.T.)
 


Image

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

Re: GetSysMetrics en windows 10

Postby karinha » Fri Oct 20, 2017 5:01 pm

Code: Select all  Expand view

// Many thanks By Mister Rick Lipkin

#include "FiveWin.ch"

static oWnd

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

FUNCTION Main()

   LOCAL nSCR1, nSCR2

   nSCR1 := GetSysMetrics(0)  // width
   nSCR2 := GetSysMetrics(1)  // height

   DEFINE WINDOW oWnd TITLE "GetSysMetrics test win 10"

   ACTIVATE WINDOW oWnd MAXIMIZED ;
     ON INIT ( IF( nSCR1 < 1024 .OR. nSCR1 > 1024, _ResMessage( nSCR1, nSCR2), ) )

RETURN NIL

//-----------------------------------------------
Static Function _ResMessage( nScr1,nScr2 )

   MsgInfo( "Sua resolução de tela atual é: " + STR( nSCR1,4 ) + " x " + STR( nSCR2, 4 )+CRLF+ ;
            "Para este aplicativo, a resolução ideal é: 1024 x 768. Isto não é um erro" +CRLF+ ;
            "crítico, no entanto, você pode encontrar algumas telas e formulários"      +CRLF+ ;
            "neste aplicativo que será melhor visualizado em: 1024 x 768       (Vídeo)",       ;
            "PLENOIND: Sugestão de melhor resolução de tela..." )

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


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 12 guests