Jump to content
Fivewin Brasil

COMO CENTRALIZAR UMA WINDOW ( resolvido )


JUDSON

Recommended Posts

Galera uso no meu sistema uma tela de venda no padrao 1024 x 768 , mas quando encontro uma resolução maior a tela fica tipo duplicando a imagem 

 

DEFINE BRUSH oBrush1 file l_pasta + "frente_guardiao.bmp"

 

DEFINE WINDOW osii60 FROM 0,0 to 1024, 768 ;
       NO CAPTION  ;
       BORDER NONE ;
       of ownd_principal ;
       BRUSH oBrush1
 
bla
bla
bla
bla
 
ACTIVATE WINDOW osii60 valid f_sii60(,2,2)  ON INIT ( sysrefresh() )
 
a funcao centered ou center nao funciona , alguem pode dar uma dica ?
Link to comment
Share on other sites

Valdir , obrigado pela dica , mais nao deu certo , estou usando uma resolucao de 1360 x 768 e a que esta na window e de FROM 0,0 to 1024, 768

veja como ficava antes do center

 

 

 
e como ficou com o center.
 
Link to comment
Share on other sites

ja fiz isso meu bom homem , nao deu certo , Sambomb , ja que nao ta dando certo , sera que existe uma forma de preencher toda a tela com essa imagem , sendo q a imagem esta em 1024 x 768 e a resolucao esta em 1360 x 768 ou em qualquer outra acima ?

 

lembrando que a imagem esta definida assim:

 

 

//-> Pega resolução da tela
nResHor := ownd_principal:nHorzRes()
nResVer := ownd_principal:nVertRes()
 

DEFINE BRUSH oBrush1 file l_pasta + "frente_guardiao.bmp"

DEFINE WINDOW osii60 FROM 0,0 to nResHor, nResVer pixel ;

       NO CAPTION  ;
       BORDER NONE ;
       of ownd_principal ;
       BRUSH oBrush1

 

http://imageshack.us/photo/my-images/507/antesdocenter.jpg/

Link to comment
Share on other sites

ja fiz isso meu bom homem , nao deu certo , Sambomb , ja que nao ta dando certo , sera que existe uma forma de preencher toda a tela com essa imagem , sendo q a imagem esta em 1024 x 768 e a resolucao esta em 1360 x 768 ou em qualquer outra acima ?


 


lembrando que a imagem esta definida assim:


 


 


//-> Pega resolução da tela

nResHor := ownd_principal:nHorzRes()

nResVer := ownd_principal:nVertRes()

 

DEFINE BRUSH oBrush1 file l_pasta + "frente_guardiao.bmp"


DEFINE WINDOW osii60 FROM 0,0 to nResHor, nResVer pixel ;


       NO CAPTION  ;

       BORDER NONE ;

       of ownd_principal ;

       BRUSH oBrush1

 


http://imageshack.us...esdocenter.jpg/

Link to comment
Share on other sites

que pena kleyber , qd o monitor tem uma relosuçao acima de 1024 x 768 a imagem nao fica legal , e fica inviável criar varias telas com tamanhos ( resolucoes )  diferentes e o pior que bmp sempre ocupa mais espaço, sera que o IMAGE que roda .jpg nao faria isso  ?

 

http://imageshack.us/photo/my-images/507/antesdocenter.jpg/

Link to comment
Share on other sites

Consegui resolver , tirei o brush e usei o image. Alem do mais deixo de usar o bmp e passo a usar o jpg que e menor.

 

 

//-> Pega resolução da tela
nResHor := ownd_principal:nHorzRes()
nResVer := ownd_principal:nVertRes()
 
DEFINE WINDOW osii60 FROM 0,0 to nResHor, nResVer pixel ;
       NO CAPTION  ;
       BORDER NONE ;
       of ownd_principal
 
@ 00,00 Image oImagem_venda FILENAME "BMP\frente_guardiao.jpg" Size nResHor,nResVer ADJUST PIXEL OF osii60 NOBORDER 
oImagem_venda:Progress( .F. )
oImagem_venda:refresh()
 
 
ACTIVATE WINDOW osii60 valid f_sii60(,2,2) MAXIMIZED ON  PAINT (  sysrefresh())
Link to comment
Share on other sites

judson, vamos lá??

 

Incorpore esta função em C by Vagner Wirts e Faça como exemplo abaixo.

 


    // Para Usar é simples :
    // Resolucao de video By Vagner Wirts
    aResolucaoAtual := VMudaVideo(1024,768)
 
    DEFINE WINDOW oWnd MDI MENU MenuPrincipal() TITLE cTitle PIXEL           ;
           FROM 0, 0 TO Getsysmetrics(17), Getsysmetrics(16) BRUSH oBrush    ;
           MENUINFO 0 ICON oIco BORDER SINGLE
 
    ...
 
    ACTIVATE WINDOW...
 
// na saida do seu program:
 
       // Isso fará mudar para a nova configuração, lhe retornando um array, para que qndo sair do sistema retornar para a incial
       VMudaVideo(aResolucaoAtual[1],aResolucaoAtual[2])  // Vagner Wirts
 
// Volta a resolucao original
 
/********************************************************* 
 * Função      : Funcao em C para mudar a Resolução da Tela se Menor da Necessária para trabalhar
 * Data        : 13/03/2013 às 12:05:26 por Vagner
 * Revisado em : 13/03/2013 às 12:05:35 por Vagner
 * Parâmetros :
 * iWidthNew  - Largura Mínima Necessária
 * iHeightNew - Altura Mínima Necessária
**********************************************************/ 
#Pragma BEGINDUMP
#include <Windows.h>
#include <ShellApi.h>
#include <Wingdi.h>
#include <hbapi.h>
HB_FUNC (VMUDAVIDEO)
{
 int iWidthNew  = hb_parni(1);
 int iHeightNew = hb_parni(2);
 int iWidth,iHeight ;
 //Pega a Configuração Atual
 DEVMODE DeviceMode = { 0 };
 EnumDisplaySettings( NULL,
        ENUM_CURRENT_SETTINGS,
        &DeviceMode );
 iWidth  = DeviceMode.dmPelsWidth;
 iHeight = DeviceMode.dmPelsHeight;
 
// if(iWidth < iWidthNew || iHeight < iHeightNew) {  
//Desculpem eu retirei isso pois só serve para eu, senão vcs não conseguirão retorar o monitor 
 
  //Muda para a nova Configuração
  DeviceMode.dmPelsWidth  = iWidthNew ;
  DeviceMode.dmPelsHeight = iHeightNew;
  ChangeDisplaySettings( &DeviceMode, 0 );
// }
 hb_reta( 2 );
 hb_storni( iWidth , -1, 1 );
 hb_storni( iHeight, -1, 2 );
}
#pragma ENDDUMP
/*
Para Usar é simples :
aResolucaoAtual := VMudaVideo(1024,768)
Isso fará mudar para a nova configuração, lhe retornando um array, para que qndo sair do sistema retornar para a incial
 
VMudaVideo(aResolucaoAtual[1],aResolucaoAtual[2])
 
Abraços,
Vagner Wirts
*/
Link to comment
Share on other sites

Olá Judson, ve se serve pra vc.

 

DEFINE BITMAP opapel FILENAME "Image\evs.BMP" 

 

 

DEFINE WINDOW oWnd ;
          TITLE "EVS distribuidora de alimentos";
          FROM 1, 5 TO 20, 70;
          MENU MenuMain(oWnd) ;
          ICON oIcon
 

oWnd:bPainted := { | hDC | PalBmpDraw( hDC, 0, 0, oPapel:hBitMap,oPapel:hPalette,oWnd:nRight+2,oWnd:nBottom+2) } 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...