jhilbert Posted September 19, 2006 Report Share Posted September 19, 2006 Caros colegas, Estou com duvidas de qual procedimento para que possa usar meu sistema tanto em 1024x768 como em 800x600... Segue o fonte: #INCLUDE "FiveWin.ch" #include "Corget.ch" STATIC HBORLAND FUNCTION Main() LOCAL oMenu, oBar PRIVATE oWnd, oFontg, cOpcod,cOperador,cOpsenha,cOpTipo,cSitcx:="F",cMes:=SPACE(2), cAno:=SPACE(4) PRIVATE cDTSistem:=SPACE(10) hBorland:=LoadLibrary("C:\WINDOWS\SYSTEM\BWCC.DLL") REQUEST DBFCDX RddSetDefaut("DBFCDX") SetHandleCount(250) // Define quantidade Maxima de arquivos para aplicacao SET DELE ON SET 3DLOOK ON SET CENTURY ON SET RESOURCES TO "JHCWIN.DLL" SET DATE BRIT SET EPOCH TO 1980 DEFINE WINDOW oWnd ; // Define a janela principal do sistema TITLE "JHC - Sistema Gerencial Empresarial v 1.00"; ICON "C:\BCDADOS\ICONES\JHCWIN.ICO"; MDI; MENU oMenu ***************************************** ** // Define figura para área de trabalho DEFINE BITMAP oBmp FILE ("\bcdados\bitmaps\JHCWIN.BMP") oWnd:bPainted = { | hDC | PalBmpDraw( hDC, 0, 0, oBmp:hBitMap, oWnd:nWidth, oWnd:nHeight ) } // DEFINE BARRA DE FERRAMENTAS PARA O SISTEMA DEFINE BUTTONBAR oBar OF oWnd; SIZE 70,50 DEFINE BUTTON FILE "\bcdados\bitmaps\BOPER.BMP" OF oBar; ACTION MANUTOP(); TOOLTIP "Manutenção de Operadores"; MESSAGE "Aciona o Módulo de Manutenção de Operadores" DEFINE BUTTON FILE "\bcdados\bitmaps\BCLIENTE.BMP" OF oBar; ACTION MANUTCLI(); TOOLTIP "Manutenção de Clientes"; MESSAGE "Aciona o Módulo de Manutenção de Clientes" DEFINE BUTTON FILE "\bcdados\bitmaps\BPROD.BMP" OF oBar; ACTION MANUTPRO(); TOOLTIP "Manutenção de Produtos"; MESSAGE "Aciona o Módulo de Manutenção de Produtos" DEFINE BUTTON FILE "\bcdados\bitmaps\BTRANS.BMP" OF oBar; ACTION MANUTTRA(); TOOLTIP "Manutenção de Transações Diárias"; MESSAGE "Aciona o Módulo de Manutenção de Transações Diárias" DEFINE BUTTON FILE "\bcdados\bitmaps\BCAIXA.BMP" OF oBar; TOOLTIP "Manutenção de Produtos"; MESSAGE "Aciona o Módulo de Manutenção de Produtos" DEFINE BUTTON FILE "\bcdados\bitmaps\BTABELA.BMP" OF oBar; TOOLTIP "Manutenção de Tabelas"; MESSAGE "Aciona o Módulo de Manutenção de Tabelas do Sistema" DEFINE BUTTON FILE "\bcdados\bitmaps\BPRINT.BMP" OF oBar; TOOLTIP "Relatórios Diversos do Sistema"; MESSAGE "Aciona o Módulo de Relatórios do Sistema" DEFINE BUTTON FILE "\bcdados\bitmaps\BCALC.BMP" OF oBar; ACTION WinExec("Calc"); TOOLTIP "Calculadora"; MESSAGE "Aciona a calculadora" DEFINE BUTTON FILE "\bcdados\bitmaps\BWRITE.BMP" OF oBar; ACTION WinExec("Notepad"); TOOLTIP "Bloco de Notas"; MESSAGE "Aciona o aplicativo Bloco de Notas" DEFINE BUTTON FILE "\bcdados\bitmaps\BSAIR.BMP" OF oBar; ACTION Iif(MsgYesNo("Sai do Sistema?","Confirmação ?"), oWnd:End(),); TOOLTIP "Sair"; MESSAGE "Encerra a Execução do Sistema" //DEFINE UMA BARRA DE STATUS PARA O SISTEMA SET MESSAGE OF oWnd TO "CopyRight by Jeorge Hilbert - 2006"; CENTERED KEYBOARD DATE TIME **************************** ** // Ativa Janela Principal ACTIVATE WINDOW oWnd MAXIMIZED Espero que alguém possa ajudar!!!!!! JHIlbert FW2.7/Blinker7/clipper5.3/WS Quote Link to comment Share on other sites More sharing options...
jhilbert Posted September 19, 2006 Author Report Share Posted September 19, 2006 Caros colegas, Estou com duvidas de qual procedimento para que possa usar meu sistema tanto em 1024x768 como em 800x600... Segue o fonte: #INCLUDE "FiveWin.ch" #include "Corget.ch" STATIC HBORLAND FUNCTION Main() LOCAL oMenu, oBar PRIVATE oWnd, oFontg, cOpcod,cOperador,cOpsenha,cOpTipo,cSitcx:="F",cMes:=SPACE(2), cAno:=SPACE(4) PRIVATE cDTSistem:=SPACE(10) hBorland:=LoadLibrary("C:\WINDOWS\SYSTEM\BWCC.DLL") REQUEST DBFCDX RddSetDefaut("DBFCDX") SetHandleCount(250) // Define quantidade Maxima de arquivos para aplicacao SET DELE ON SET 3DLOOK ON SET CENTURY ON SET RESOURCES TO "JHCWIN.DLL" SET DATE BRIT SET EPOCH TO 1980 DEFINE WINDOW oWnd ; // Define a janela principal do sistema TITLE "JHC - Sistema Gerencial Empresarial v 1.00"; ICON "C:\BCDADOS\ICONES\JHCWIN.ICO"; MDI; MENU oMenu ***************************************** ** // Define figura para área de trabalho DEFINE BITMAP oBmp FILE ("\bcdados\bitmaps\JHCWIN.BMP") oWnd:bPainted = { | hDC | PalBmpDraw( hDC, 0, 0, oBmp:hBitMap, oWnd:nWidth, oWnd:nHeight ) } // DEFINE BARRA DE FERRAMENTAS PARA O SISTEMA DEFINE BUTTONBAR oBar OF oWnd; SIZE 70,50 DEFINE BUTTON FILE "\bcdados\bitmaps\BOPER.BMP" OF oBar; ACTION MANUTOP(); TOOLTIP "Manutenção de Operadores"; MESSAGE "Aciona o Módulo de Manutenção de Operadores" DEFINE BUTTON FILE "\bcdados\bitmaps\BCLIENTE.BMP" OF oBar; ACTION MANUTCLI(); TOOLTIP "Manutenção de Clientes"; MESSAGE "Aciona o Módulo de Manutenção de Clientes" DEFINE BUTTON FILE "\bcdados\bitmaps\BPROD.BMP" OF oBar; ACTION MANUTPRO(); TOOLTIP "Manutenção de Produtos"; MESSAGE "Aciona o Módulo de Manutenção de Produtos" DEFINE BUTTON FILE "\bcdados\bitmaps\BTRANS.BMP" OF oBar; ACTION MANUTTRA(); TOOLTIP "Manutenção de Transações Diárias"; MESSAGE "Aciona o Módulo de Manutenção de Transações Diárias" DEFINE BUTTON FILE "\bcdados\bitmaps\BCAIXA.BMP" OF oBar; TOOLTIP "Manutenção de Produtos"; MESSAGE "Aciona o Módulo de Manutenção de Produtos" DEFINE BUTTON FILE "\bcdados\bitmaps\BTABELA.BMP" OF oBar; TOOLTIP "Manutenção de Tabelas"; MESSAGE "Aciona o Módulo de Manutenção de Tabelas do Sistema" DEFINE BUTTON FILE "\bcdados\bitmaps\BPRINT.BMP" OF oBar; TOOLTIP "Relatórios Diversos do Sistema"; MESSAGE "Aciona o Módulo de Relatórios do Sistema" DEFINE BUTTON FILE "\bcdados\bitmaps\BCALC.BMP" OF oBar; ACTION WinExec("Calc"); TOOLTIP "Calculadora"; MESSAGE "Aciona a calculadora" DEFINE BUTTON FILE "\bcdados\bitmaps\BWRITE.BMP" OF oBar; ACTION WinExec("Notepad"); TOOLTIP "Bloco de Notas"; MESSAGE "Aciona o aplicativo Bloco de Notas" DEFINE BUTTON FILE "\bcdados\bitmaps\BSAIR.BMP" OF oBar; ACTION Iif(MsgYesNo("Sai do Sistema?","Confirmação ?"), oWnd:End(),); TOOLTIP "Sair"; MESSAGE "Encerra a Execução do Sistema" //DEFINE UMA BARRA DE STATUS PARA O SISTEMA SET MESSAGE OF oWnd TO "CopyRight by Jeorge Hilbert - 2006"; CENTERED KEYBOARD DATE TIME **************************** ** // Ativa Janela Principal ACTIVATE WINDOW oWnd MAXIMIZED Espero que alguém possa ajudar!!!!!! JHIlbert FW2.7/Blinker7/clipper5.3/WS Quote Link to comment Share on other sites More sharing options...
aferra Posted September 19, 2006 Report Share Posted September 19, 2006 mas qual é a sua dúvida afinal???? Um Grande Abraço Alessandro F. Silvaid=blue> E-mail :aferracini@terra.com.br FW2.0d + CL53b + Blinker 7.0 + @Say @Get + CDX MSN: ferracini_silva@hotmail.com Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
jhilbert Posted September 19, 2006 Author Report Share Posted September 19, 2006 Caro colega, A dúvida é a seguinte: 1) Como dimensionar a janela para a resolucao 1024x768 como para 800x600. 2) Como dimensionar a imagem de fundo segundo a resolucao! JHilbert FW2.7/Blinker7/clipper5.3/WS Quote Link to comment Share on other sites More sharing options...
Marca Posted September 19, 2006 Report Share Posted September 19, 2006 Ola JHIlbert _Resolucao := GetSysMetrics(0) Retorno = 800 ou 1024 e ai p. diante nTamJpg := oWnd:nVertRes() Retorno = 600 ou 768 a assim p. diante com isso vc pegal automaticamente as coordenadas de video para tratar as telas automaticamente espero ter ajudado Um abraço Marcelo Ferro Fwh25/xHarbour 99.3/SqlLib /xMate/WS Quote Link to comment Share on other sites More sharing options...
Marca Posted September 19, 2006 Report Share Posted September 19, 2006 Completando a resposta para a imagem ficaria assim utilizando a resposta anterior @ 00, 00 IMAGE oBmp ; SIZE _Resolucao,nTamJpg ; OF oWnd ; ADJUST Marcelo Ferro Fwh25/xHarbour 99.3/SqlLib /xMate/WS Quote Link to comment Share on other sites More sharing options...
jhilbert Posted September 19, 2006 Author Report Share Posted September 19, 2006 Valeu a ajuda.... Mas, mais uma pergunta.... No caso do janela??? DEFINE WINDOW oWnd ; // Define a janela principal do sistema TITLE "JHC - Sistema Gerencial Empresarial v 1.00"; ICON "C:\BCDADOS\ICONES\JHCWIN.ICO"; MDI; MENU oMenu Como colocaria para ajustar a resolucao???? JHIlbert FW2.7/Blinker7/clipper5.3/WS Quote Link to comment Share on other sites More sharing options...
Marca Posted September 19, 2006 Report Share Posted September 19, 2006 no Caso da window ACTIVATE WINDOW oWnd MAXIMIZED e ela ajusta para o tamanho maximo da janela nao precisando assim calcular nada Marcelo Ferro Fwh25/xHarbour 99.3/SqlLib /xMate/WS Quote Link to comment Share on other sites More sharing options...
Marca Posted September 19, 2006 Report Share Posted September 19, 2006 DEFINE WINDOW oWnd FROM 0,00 TO 24, 79 ; // 0,5,20,79 ICON oIcon ; TITLE cTitulo ACTIVATE WINDOW oWnd MAXIMIZED Marcelo Ferro Fwh25/xHarbour 99.3/SqlLib /xMate/WS Quote Link to comment Share on other sites More sharing options...
ram_bh Posted September 20, 2006 Report Share Posted September 20, 2006 Olás! Com relação à WINDOW, tudo bem. Mas, e para que uma DIALOG ocupe toda a WINDOW, conforme a resolução da WINDOW (ou seja, ocupe a área entre a barra de botões e a barra de mensagens)? Rodrigo Melo BH - MG FW24 Quote Link to comment Share on other sites More sharing options...
aferra Posted September 20, 2006 Report Share Posted September 20, 2006 a mesma coisa ACTIVE DIALOG ....... MAXIMEZED agora se for para arrumar as figuras da tela principal, vc tem que usar as coodernadas da janela que são atualizadas automaticamente, veja um exemplo ACTIVATE WINDOW oWSig MAXIMIZED ON PAINT Fundo() FUNCTION Fundo() DEFINE BITMAP oFONDOPANT FILENAME "LOGO.BMP" PalBmpDraw(oWSig:oWNDCLIENT:GETDC(),((oWSig:nBOTTOM-oWSig:nTOP)/2)-(oFONDOPANT:nHEIGHT()/2)-70,((oWSig:nRIGHT-oWSig:nLEFT)/2)-(oFONDOPANT:nWIDTH()/2),oFONDOPANT:hBmpPal,oFONDOPANT:nWIDTH(),oFONDOPANT:nHEIGHT(),8913094) oFONDOPANT:Destroy() DEFINE BITMAP oFONDOPANT FILENAME "SIG.BMP" PalBmpDraw(oWSig:oWNDCLIENT:GETDC(),oWSig:nBOTTOM-oFONDOPANT:nHEIGHT()-120,1,oFONDOPANT:hBmpPal,oFONDOPANT:nWIDTH(),oFONDOPANT:nHEIGHT(),8913094) oFONDOPANT:Destroy() DEFINE BITMAP oFONDOPANT FILENAME "CPI.BMP" PalBmpDraw(oWSig:oWNDCLIENT:GETDC(),oWSig:nBOTTOM-oFONDOPANT:nHEIGHT()-125,oWSig:nRIGHT-oFONDOPANT:nWIDTH()-10,oFONDOPANT:hBmpPal,oFONDOPANT:nWIDTH(),oFONDOPANT:nHEIGHT(),8913094) oFONDOPANT:Destroy() (FreeResources(),SysRefresh()) RETURN(NIL) fazendo desta forma sempre terei uma imagem no centro, um no canto inferior direito e outra no inferior esquerdo, independente da resolução.... Um Grande Abraço Alessandro F. Silvaid=blue> E-mail :aferracini@terra.com.br FW2.0d + CL53b + Blinker 7.0 + @Say @Get + CDX MSN: ferracini_silva@hotmail.com Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
ram_bh Posted September 20, 2006 Report Share Posted September 20, 2006 Alessandro, Eu queria saber é como fazer para que uma DIALOG ocupe a WINDOW completamente, independente da resolução utilizada no momento. Lembrando que esta DIALOG foi desenvolvida no Workshop. Tem como? Obrigado! Rodrigo Melo BH - MG FW24 / Clip53b / BL6 Quote Link to comment Share on other sites More sharing options...
aferra Posted September 20, 2006 Report Share Posted September 20, 2006 Rodrigo, blz, eu lhe respondi acima... REDEFINE DIALOGO ...... OF oWnd // onde oWnd é sua Windows ACTIVE DIALOG ....... MAXIMEZEDid=red> Um Grande Abraço Alessandro F. Silvaid=blue> E-mail :aferracini@terra.com.br FW2.0d + CL53b + Blinker 7.0 + @Say @Get + CDX MSN: ferracini_silva@hotmail.com Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
ram_bh Posted September 20, 2006 Report Share Posted September 20, 2006 Alessandro, Conforme documentação da FW, não existe a opção MAXIMIZED no comando ACTIVATED DIALOG, vejamos: ACTIVATE DIALOG objeto Dialogo CENTER, CENTERED NOWAIT, NOMODAL WHEN Función para When VALID Función para Valid ON [ LEFT ] CLICK Función para CLick ON INIT Función al iniciarse ON MOVE Función al moverse ON PAINT Función al Pintarse ON RIGHT CLICK Función al pulsar con el botón derecho O que eu quero saber é como ajustar o tamanho de uma DIALOG desenhada pelo WS, conforme a resolução da WINDOW? Obrigado! Rodrigo Melo BH - MG FW24 / Clip53b / BL70 / WinXP / WS Quote Link to comment Share on other sites More sharing options...
aferra Posted September 21, 2006 Report Share Posted September 21, 2006 é realmente não tem, nem sei pq uso assim nos meus sistemas e nunca deu erro de compilação, mas não funciona tb, bem deixa pra lá, acho que vc vai ter que usar o comando move() com os cantos da windows e colocar onde vc desejar, exemplo oDlg:Move(oWnd:GetCliRect():nTop+5,oWnd:GetCliRect():nLeft+5,oWnd:GetCliRect():nBottom-10,oDlg:GetCliRect():nRight-5,.T.), agora os redefine dentro da dialog não mudaram, ficaram na mesma marca, ou seja, se vc colocou na linha 120 e coluna 50, sempre estará lá, aà vc teria que utilizar o comando move() para ajustar tb os redefines, ou senão criar dialogs para cada resolução... Um Grande Abraço Alessandro F. Silvaid=blue> E-mail :aferracini@terra.com.br FW2.0d + CL53b + Blinker 7.0 + @Say @Get + CDX MSN: ferracini_silva@hotmail.com Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
jhilbert Posted September 21, 2006 Author Report Share Posted September 21, 2006 Colegas, No caso da DIalog é só colocar como abaixo ACTIVATE DIALOG oDlgMan CENTER on init ( ShowWindow( oDlgMan:hWnd, 3 ) ) // maximizada ACTIVATE DIALOG oDlgMan CENTER on init ( ShowWindow( oDlgMan:hWnd, 1 ) ) // centralizada JHilbert FW2.7/clipper5.3/blinker7/WS Quote Link to comment Share on other sites More sharing options...
ram_bh Posted September 26, 2006 Report Share Posted September 26, 2006 Caro JHilbert, Obrigado pela dica! Comentário: Da forma apresentada a DIALOG ocupou toda a tela, inclusive as áreas da barra de botões, do menu, etc. Existe uma forma de forçar uma DIALOG a ocupar apenas o espaço livre de uma WINDOW? Rodrigo Melo BH - MG Clip53b / BL70 / FW24 / WS Editado por - ram_bh on 27/09/2006 08:52:34 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.