kapiaba Posted August 29, 2011 Report Share Posted August 29, 2011 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 Editado por - kapiaba on 29/08/2011 11:30:40 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 29, 2011 Author Report Share Posted August 29, 2011 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 Editado por - kapiaba on 29/08/2011 11:30:40 Quote Link to comment Share on other sites More sharing options...
vagner Posted August 29, 2011 Report Share Posted August 29, 2011 Olá, O q é q não funciona ? Vagner Wirts "Ele não sabendo que era impossÃvel, foi lá e fez" Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 29, 2011 Author Report Share Posted August 29, 2011 citação:Olá, O q é q não funciona ? Vagner Wirts "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 Quote Link to comment Share on other sites More sharing options...
CTOAS Posted August 29, 2011 Report Share Posted August 29, 2011 Olá... Kapiaba... Eu uso desta maneira e comigo funciona 100%, logico, contando que após eu mudar a resolução do Windows, eu feche o sistema e reabra. PS: Não vi sua inscrição para o congresso.... []'s Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 29, 2011 Author Report Share Posted August 29, 2011 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 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 Editado por - kapiaba on 29/08/2011 12:21:13 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 29, 2011 Author Report Share Posted August 29, 2011 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 Quote Link to comment Share on other sites More sharing options...
aferra Posted August 29, 2011 Report Share Posted August 29, 2011 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> Quote Link to comment Share on other sites More sharing options...
aferra Posted August 29, 2011 Report Share Posted August 29, 2011 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> Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 29, 2011 Author Report Share Posted August 29, 2011 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 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 29, 2011 Author Report Share Posted August 29, 2011 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 Quote Link to comment Share on other sites More sharing options...
aferra Posted August 29, 2011 Report Share Posted August 29, 2011 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> Quote Link to comment Share on other sites More sharing options...
vagner Posted March 13, 2013 Report Share Posted March 13, 2013 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 //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 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted March 13, 2013 Author Report Share Posted March 13, 2013 Excelente!! Parabéns, funciona perfeito, troquei a resolucão para 1280 x 720, ele troca para 1024 x 768, na saida do programa, ele retorna para 1280 x 720. Show() de pelota. Obg, abs. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 24, 2015 Author Report Share Posted September 24, 2015 Para: João Alpande. Quote Link to comment Share on other sites More sharing options...
joao Posted September 24, 2015 Report Share Posted September 24, 2015 Para: João Alpande. Obrigado amigo kapiaba 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.