Jump to content
Fivewin Brasil

Resolução de Video no Windows 7


kapiaba

Recommended Posts

Galera ajuda, isto funciona perfeito no windows XP, no windows 7, se mudar a resolução de video, não funciona,

como resolver?


nResHoriz:= oWnd:nHorzRes() // retorna a resolucao horizontal

nResVert:= oWnd:nVertRes() // retorna a resolucao vertical

IF nResHoriz = 1024 .and. nResVert = 768

IF ISWINXP()

@ 0, 0 IMAGE oImage SIZE 1024,668 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ELSE

@ 0, 0 IMAGE oImage SIZE 1024,678 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ENDIF

ELSE

IF ISWINXP()

@ 0, 0 IMAGE oImage SIZE 800,500 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ELSE

@ 0, 0 IMAGE oImage SIZE 800,510 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ENDIF

ENDIF

id=code>id=code>

Obg, abs.

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632 - TIM

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Editado por - kapiaba on 29/08/2011 11:30:40

Link to comment
Share on other sites

Galera ajuda, isto funciona perfeito no windows XP, no windows 7, se mudar a resolução de video, não funciona,

como resolver?


nResHoriz:= oWnd:nHorzRes() // retorna a resolucao horizontal

nResVert:= oWnd:nVertRes() // retorna a resolucao vertical

IF nResHoriz = 1024 .and. nResVert = 768

IF ISWINXP()

@ 0, 0 IMAGE oImage SIZE 1024,668 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ELSE

@ 0, 0 IMAGE oImage SIZE 1024,678 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ENDIF

ELSE

IF ISWINXP()

@ 0, 0 IMAGE oImage SIZE 800,500 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ELSE

@ 0, 0 IMAGE oImage SIZE 800,510 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ENDIF

ENDIF

id=code>id=code>

Obg, abs.

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632 - TIM

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Editado por - kapiaba on 29/08/2011 11:30:40

Link to comment
Share on other sites

citação:

Olá,

O q é q não funciona ?

Vagner Wirts

bgprofilea.jpg

"Ele não sabendo que era impossível, foi lá e fez"


id=quote>id=quote>

Quando mudo a resolução, a BITMAP da janela principal, fica muito pequena e não assume a nova resolução.

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632 - TIM

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Link to comment
Share on other sites

Se eu modifico a resolução, a BITMAP de fundo fica pequena, se uso 1024 x 768 funciona, maior q isso, não vai...

http://www.4shared.com/photo/V9wUl-Nx/telawin7.html

telawin7.jpg

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632 - TIM

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Editado por - kapiaba on 29/08/2011 12:21:13

Link to comment
Share on other sites

Olá Cris, +- isso aqui...


IF nResHoriz = 1360 .AND. nResVert = 768

// O que eu coloco aqui?

ELSEIF nResHoriz = 1280 .AND. nResVert = 768

// O que eu coloco aqui?

ELSEIF nResHoriz = 1280 .AND. nResVert = 720

// O que eu coloco aqui?

ELSEIF nResHoriz = 1024 .AND. nResVert = 768

IF ISWINXP()

@ 0, 0 IMAGE oImage SIZE 1024,668 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ELSE

@ 0, 0 IMAGE oImage SIZE 1024,678 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ENDIF

ELSE

IF ISWINXP()

@ 0, 0 IMAGE oImage SIZE 800,500 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ELSE

@ 0, 0 IMAGE oImage SIZE 800,510 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ENDIF

ENDIF

id=code>id=code>

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632 - TIM

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Link to comment
Share on other sites

Olá Kapi, por que não faz assim:


ACTIVATE WINDOW oWnd MAXIMIZED ON PAINT ImagemFundo( oWnd )

FUNCTION ImagemFundo( oWnd )

oImgWnd1 := TImage():Define( , , oWnd )

oWnd:SayBitmap( 130, 0, oImgWnd1, oWnd:nWidth-10, oWnd:nHeight-193 )

RETURN .T.

id=code>id=code>

Alessandroid=blue>

FW9.07+xHb121+PellesC+CDX

Fico feliz com os Meus erros, pois eles me apontam a direção para o acerto.id=red>

Link to comment
Share on other sites

Não esqueça que esses valores são para minha tela...tenho funções na esquerda e direita da tela por isso esses valores, agora se vc não tiver nada nas laterais coloque assim

oWnd:SayBitmap( 0, 0, oImgWnd1, oWnd:nWidth, oWnd:nHeight )

Alessandroid=blue>

FW9.07+xHb121+PellesC+CDX

Fico feliz com os Meus erros, pois eles me apontam a direção para o acerto.id=red>

Link to comment
Share on other sites

citação:

Olá Kapi, por que não faz assim:


ACTIVATE WINDOW oWnd MAXIMIZED ON PAINT ImagemFundo( oWnd )

FUNCTION ImagemFundo( oWnd )

oImgWnd1 := TImage():Define( , , oWnd )

oWnd:SayBitmap( 130, 0, oImgWnd1, oWnd:nWidth-10, oWnd:nHeight-193 )

RETURN .T.

id=code>id=code>

Alessandroid=blue>

FW9.07+xHb121+PellesC+CDX

Fico feliz com os Meus erros, pois eles me apontam a direção para o acerto.id=red>


id=quote>id=quote>

Fala FERA,

Essa imagem é FIXA??

As minhas são móveis, o usuário troca em tempo real e reboota o programa para assumir a nova imagem.

Entende??

Kisses inthe heart...

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632 - TIM

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Link to comment
Share on other sites

Ok resolvido. Grato a todos que tentaram ajudar. Abraços.


nResHoriz:= oWnd:nHorzRes() // retorna a resolucao horizontal

nResVert:= oWnd:nVertRes() // retorna a resolucao vertical

IF nResHoriz = 1360 .AND. nResVert = 768

@ 0, 0 IMAGE oImage SIZE 1360, 668 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ELSEIF nResHoriz = 1280 .AND. nResVert = 768

@ 0, 0 IMAGE oImage SIZE 1280, 668 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ELSEIF nResHoriz = 1280 .AND. nResVert = 720

@ 0, 0 IMAGE oImage SIZE 1280, 668 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ELSEIF nResHoriz = 1024 .AND. nResVert = 768

IF ISWINXP()

@ 0, 0 IMAGE oImage SIZE 1024,668 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ELSE

@ 0, 0 IMAGE oImage SIZE 1024,678 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ENDIF

ELSE

IF ISWINXP()

@ 0, 0 IMAGE oImage SIZE 800,500 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ELSE

@ 0, 0 IMAGE oImage SIZE 800,510 OF oWin ADJUST

oImage:Progress( .F. )

oImage:LoadBmp( cFile )

ENDIF

ENDIF

// REINICIAR O PROGRAMA PARA ASSUMIR A NOVA TELA DE FUNDO

id=code>id=code>

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632 - TIM

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Link to comment
Share on other sites

Embora vc já tenha resolvido, sim é que eu guardo o caminho da imagem então qdo troco basta chamar novamente a função que atualiza sem precisar sair do sistema.

a sequencia é essa:

eu tenhoum botão que chama cgetfile()

retorna o caminho e salvo no BD e em uma variavel

entro na função Imagemfundo() e pronto.

sempre dá certo e em qualquer monitor. em qualquer resolução( claro que se a imagem for grande e a resolução nenor ainda ai danouse, rsrsrsrs )

bem é isso.

um grande abraço pra ti.

Alessandroid=blue>

FW9.07+xHb121+PellesC+CDX

Fico feliz com os Meus erros, pois eles me apontam a direção para o acerto.id=red>

Link to comment
Share on other sites

  • 1 year later...

Olá,
Bom reativei o tópico, pois tive necessidade de mudar a configuração do monitor, então montei, uma função estou deixando para quem precisar ;)

 

 

/********************************************************* 
 * 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 :D


  //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

  • 2 years later...

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