Login
Estamos no Facebook
Buscar
Quem está conectado
Há 28 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 27 Visitantes :: 2 Motores de busca@costa
[ Ver toda a lista ]
O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Brasília
| |
Estamos no Twitter

Nossa Comunidade

Nosso Grupo

Últimos assuntos
Top dos mais postadores
| Marcos Guedes | ||||
| hugo | ||||
| alceu11 | ||||
| Julio | ||||
| m@r<3|o | ||||
| mfelis | ||||
| Tales Ruan | ||||
| Nelson Arcas | ||||
| _batmanvfp_ | ||||
| marcio |
Karaoke feito em FoxPro 2.6
23/5/2012, 11:45 por fabiomacarrao
Bom dia a todos. Desenvolvi um programa em FoxPro for windows 2.6 para karaoke. tenho mais de 2700 …
Comentários: 3
Estatísticas
Temos 4048 usuários registradosO último usuário registrado atende pelo nome de fabiomacarrao
Os nossos membros postaram um total de 14426 mensagens em 2047 assuntos
Resolucao ajustar Objetos
Página 2 de 2 • Compartilhe •
Página 2 de 2 •
1, 2
Resolucao ajustar Objetos
Relembrando a primeira mensagem :
Olá Pessoal ,
ainda existe a luta para entender a resolucao,
estou iniciando um novo projeto
e estou com duvidas
se utilizar para programar em 800 x 600 pega a screen toda apartir dela mudar para
1024 x 7... a tela se centraliza a uma reducao de 50% to tamanho normal
como fazer , para que 1024x7... pege a screen toda como = a da 800x600
alguem tem PRG Funcao , vo caçar e depois pretendo utilizar como nao vo saber usar , vo postar para ver se me ajudam a utiliza-la ,
Essa funcao nao sei quem criou , o que ela faria , serveria pro meu caso
e como utilizar ?? testar ??
Obrigado
abs
Marcelo Fazan
Olá Pessoal ,
ainda existe a luta para entender a resolucao,
estou iniciando um novo projeto
e estou com duvidas
se utilizar para programar em 800 x 600 pega a screen toda apartir dela mudar para
1024 x 7... a tela se centraliza a uma reducao de 50% to tamanho normal
como fazer , para que 1024x7... pege a screen toda como = a da 800x600
alguem tem PRG Funcao , vo caçar e depois pretendo utilizar como nao vo saber usar , vo postar para ver se me ajudam a utiliza-la ,
- Código:
FUNCTION ChangeRes
LPARAMETERS tnWidth, tnHeight
LOCAL lnWidth, lnHeight, lnModeNum, lcDevMode
lnModeNum = 0
lcDevMode = REPLICATE(CHR(0), 156)
lnWidth = IIF(EMPTY(tnWidth), 800, tnWidth)
lnHeight = IIF(EMPTY(tnHeight), 600, tnHeight)
*!* Instrucciones DECLARE DLL para cambiar resolución
DECLARE INTEGER EnumDisplaySettings IN Win32API ;
STRING lpszDeviceName,;
INTEGER iModeNum, ;
STRING @lpDevMode
DECLARE INTEGER ChangeDisplaySettings IN Win32API STRING @lpDevMode, INTEGER dwFlags
*!* Bucle para obtener todos los modos disponibles
DO WHILE EnumDisplaySettings(NULL, lnModeNum, @lcDevMode) <> 0
lnModeNum = lnModeNum +1
ENDDO
*!* Configurar la structura DevMode
lcDevMode = STUFF(lcDevMode, 41, 4, LongToStr(1572864))
lcDevMode = STUFF(lcDevMode, 109, 4, LongToStr(tnWidth)) && Ancho
lcDevMode = STUFF(lcDevMode, 113, 4, LongToStr(tnHeight)) && Alto
*!* Cambiar resolucion
ChangeDisplaySettings(@lcDevMode, 1)
ENDFUNC
FUNCTION LongToStr
LPARAMETERS lnLongVal
LOCAL lnCnt, lcRetStr
lcRetStr = ''
FOR lnCnt = 24 TO 0 STEP -8
lcRetStr = CHR(INT(lnLongVal/(2^lnCnt))) + lcRetStr
lnLongVal = MOD(lnLongVal, (2^lnCnt))
NEXT
RETURN lcRetStr
ENDFUNC
Essa funcao nao sei quem criou , o que ela faria , serveria pro meu caso
e como utilizar ?? testar ??
Obrigado
abs
Marcelo Fazan
m@r<3|o- Participante Assíduo

Re: Resolucao ajustar Objetos
_________________
Marcos Guedes - Programador e desenvolvedor Web.
Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras
Marcos Guedes- Webmaster

Re: Resolucao ajustar Objetos
ja vi o exemplo , só que nao serve
isso é efeito draw , nao quero esticar obejetos
ao contrario
tem que ser fixos , os forms , mais como disse ... anteriormente o problema
vo precisar por um print aqui ........ pra voces verem o que to dizendo
isso é efeito draw , nao quero esticar obejetos
ao contrario
tem que ser fixos , os forms , mais como disse ... anteriormente o problema
vo precisar por um print aqui ........ pra voces verem o que to dizendo
_batmanvfp_- Participa Bastante

Re: Resolucao ajustar Objetos
Desenvolvi em 800x600
com o tamanho da tela
usando 800x600 seria isso
[Você precisa estar registrado e conectado para ver esta imagem.]
agora mudo a resolucao para 1024x768
usando 1024x768 seria isso
[Você precisa estar registrado e conectado para ver esta imagem.]
preciso quando usar 1024x768 deixar o tamanho da tela toda , que nem a primeira tela deixando maior
com o tamanho da tela
usando 800x600 seria isso
[Você precisa estar registrado e conectado para ver esta imagem.]
agora mudo a resolucao para 1024x768
usando 1024x768 seria isso
[Você precisa estar registrado e conectado para ver esta imagem.]
preciso quando usar 1024x768 deixar o tamanho da tela toda , que nem a primeira tela deixando maior
_batmanvfp_- Participa Bastante

Re: Resolucao ajustar Objetos
Tales Ruan escreveu:Saudações.
Não entendi se é exatamente este o problema, mas uma vez fiz um código que deixava as telas mais ou menos* proporcionais, em qualquer resolução.
*Ainda tem que implementar o controle do tamanho da fonte, mas não é um problema tão grave.
Respondi neste tópico, mas como a formatação não tá legal vou transcrever aqui:Fiz assim: Criei no meu form um método chamado ajusta_resolucao. Nele coloquei este código:
- Código:
LPARAMETERS O_Objeto
* Ajusta o objeto atual à resolução do monitor
IF .Not. O_Objeto.BaseClass=="Page" Then && As páginas do pageframe nao tem width nem height
O_Objeto.Height=(O_Objeto.Height/768) * SysMetric(2)
O_Objeto.Width=(O_Objeto.Width/1024) * SysMetric(1)
IF .Not. O_Objeto.BaseClass=="Form" Then
O_Objeto.Top=(O_Objeto.Top/768) * SysMetric(2)
O_Objeto.Left=(O_Objeto.Left/1024) * SysMetric(1)
EndIf
EndIf
IF O_Objeto.BaseClass=="Pageframe" Then
* Ajusta cada página do pageframe
FOR EACH Pagina IN O_Objeto.Pages
Thisform.Ajusta_Resolucao(Pagina)
Next
Else && Se nao é pageframe deve ser container ou form
* Agora ajusta os objetos que ele contém:
For Each Controle in O_Objeto.Controls
DO CASE
CASE Controle.BaseClass=="Container"
Thisform.Ajusta_Resolucao(Controle)
CASE Controle.BaseClass=="Pageframe"
Thisform.Ajusta_Resolucao(Controle)
OTHERWISE
Controle.Height=(Controle.Height/768) * SysMetric(2)
Controle.Width=(Controle.Width/1024) * SysMetric(1)
Controle.Top=(Controle.top/768) * SYSMETRIC(2)
Controle.Left=(Controle.Left/1024) * SYSMETRIC(1)
ENDCASE
NEXT
ENDIF
Daí no Init do form chame o método:
- Código:
Thisform.Ajusta_Resolucao(Thisform)
Marcelo, tenho quase certeza que a minha dica faz o que você está querendo. Faça um teste..
_________________
Adeus, FoxPro. Agora vou programar em Java [Você precisa estar registrado e conectado para ver esta imagem.]

Tales Ruan- Participa Bastante

Re: Resolucao ajustar Objetos
Tales preciso algo global só pra compilar
se for passar tela a tela ....... tem que ser algo como somente declarar
esse exemplo seu tem que tratar objeto por objeto ?
se for passar tela a tela ....... tem que ser algo como somente declarar
esse exemplo seu tem que tratar objeto por objeto ?
_batmanvfp_- Participa Bastante

Re: Resolucao ajustar Objetos
_batmanvfp_ escreveu:esse exemplo seu tem que tratar objeto por objeto ?
É formulário por formulário.
Se você tem classes para os seus forms é bem fácil de colocar. Não sei se teria uma forma mais simples de fazer qualquer modificação em todos eles.
Uma alternativa pra "agilizar" é fazer um código para scanear todos os forms de sua aplicação e alterar via código cada um deles, inserindo esse ajuste, através daquele truque de abri-los como se fossem uma tabela, mas não sei se é uma boa idéia fazer isto.
Ah, fiz uma adaptação no código porque voce os desenvolveu para a resolução 800X600. (Tem duas constantes no início onde você especifica qual a resolução original dos forms)
- Código:
LPARAMETERS O_Objeto
#DEFINE ResolucaoX 800
#DEFINE ResolucaoY 600
* Ajusta o objeto atual à resolução do monitor
IF .NOT. O_Objeto.BASECLASS=="Page" THEN && As páginas do pageframe nao tem width nem height
O_Objeto.HEIGHT=(O_Objeto.HEIGHT/ResolucaoY) * SYSMETRIC(2)
O_Objeto.WIDTH=(O_Objeto.WIDTH/ResolucaoX) * SYSMETRIC(1)
IF .NOT. O_Objeto.BASECLASS=="Form" THEN
O_Objeto.TOP=(O_Objeto.TOP/ResolucaoY) * SYSMETRIC(2)
O_Objeto.LEFT=(O_Objeto.LEFT/ResolucaoX) * SYSMETRIC(1)
ENDIF
ENDIF
IF O_Objeto.BASECLASS=="Pageframe" THEN
* Ajusta cada página do pageframe
FOR EACH Pagina IN O_Objeto.PAGES
THISFORM.Ajusta_Resolucao(Pagina)
NEXT
ELSE && Se nao é pageframe deve ser container ou form
* Agora ajusta os objetos que ele contém:
FOR EACH Controle IN O_Objeto.CONTROLS
DO CASE
CASE Controle.BASECLASS=="Container"
THISFORM.Ajusta_Resolucao(Controle)
CASE Controle.BASECLASS=="Pageframe"
THISFORM.Ajusta_Resolucao(Controle)
OTHERWISE
Controle.HEIGHT=(Controle.HEIGHT/ResolucaoY) * SYSMETRIC(2)
Controle.WIDTH=(Controle.WIDTH/ResolucaoX) * SYSMETRIC(1)
Controle.TOP=(Controle.TOP/ResolucaoY) * SYSMETRIC(2)
Controle.LEFT=(Controle.LEFT/ResolucaoX) * SYSMETRIC(1)
ENDCASE
NEXT
ENDIF
_________________
Adeus, FoxPro. Agora vou programar em Java [Você precisa estar registrado e conectado para ver esta imagem.]

Tales Ruan- Participa Bastante

Re: Resolucao ajustar Objetos
criei o metodo colei o codigo
e chamei no init me deu uma mensagem " property heigth is not found . "
e chamei no init me deu uma mensagem " property heigth is not found . "
_batmanvfp_- Participa Bastante

Re: Resolucao ajustar Objetos
Provavelmente é um erro de digitação.
Onde está escrito Heigth deveria estar Height.
Mas, estranhamente, aqui funciona sem erro algum. Qual a versão do seu fox?
Onde está escrito Heigth deveria estar Height.
Mas, estranhamente, aqui funciona sem erro algum. Qual a versão do seu fox?
_________________
Adeus, FoxPro. Agora vou programar em Java [Você precisa estar registrado e conectado para ver esta imagem.]

Tales Ruan- Participa Bastante

Re: Resolucao ajustar Objetos
vfp9 puro ...... eu escrevi errado
na funcao esta escrito certo
e acontece o erro
na funcao esta escrito certo
e acontece o erro
_batmanvfp_- Participa Bastante

Re: Resolucao ajustar Objetos
Use a força. Sinta o código. Verifique em que linha o erro acontece. Descubra em qual objeto o código está tentando modificar a propriedade Height.
_________________
Adeus, FoxPro. Agora vou programar em Java [Você precisa estar registrado e conectado para ver esta imagem.]

Tales Ruan- Participa Bastante

Re: Resolucao ajustar Objetos
HaHaHaHa !!!!!!!!
voce viu os prints das telas ........viu o tanto que diminui , o seu codigo vai alterar o que , vai deixar maior a que ficou pequena .... eu utilizo formset ... nao 100% sera que foi por isso que deram erros
voce faz uns codigo mto hacker .
esse codigo esta facil pra voce alterar ,
vo levar meses pra modificar isso
voce viu os prints das telas ........viu o tanto que diminui , o seu codigo vai alterar o que , vai deixar maior a que ficou pequena .... eu utilizo formset ... nao 100% sera que foi por isso que deram erros
voce faz uns codigo mto hacker .
esse codigo esta facil pra voce alterar ,
vo levar meses pra modificar isso
_batmanvfp_- Participa Bastante

Re: Resolucao ajustar Objetos
Acho que esqueci de dizer a finalidade do código, hehe
Ele deixa seus forms proporcionais em qualquer resolução. Ex: Se na resolução em que os forms foram produzidos eles ocupam toda a tela (800x600, por exemplo), em outra resolução a proporção seria mantida, ocupando toda a tela também. Mas sem esticar os controles, como faz a propriedade ANCHOR.
Com formsets eu não testei, talvez seja isto que causou o erro.
Ele deixa seus forms proporcionais em qualquer resolução. Ex: Se na resolução em que os forms foram produzidos eles ocupam toda a tela (800x600, por exemplo), em outra resolução a proporção seria mantida, ocupando toda a tela também. Mas sem esticar os controles, como faz a propriedade ANCHOR.
Com formsets eu não testei, talvez seja isto que causou o erro.
_________________
Adeus, FoxPro. Agora vou programar em Java [Você precisa estar registrado e conectado para ver esta imagem.]

Tales Ruan- Participa Bastante

Re: Resolucao ajustar Objetos
BASECLASS=="Page
BASECLASS=="Container
BASECLASS=="Pageframe"
Seu codigo somente vai funcionar se eu fizer um form com pageframe com container ????
e os commands texts outros obejtos vao continuar do mesmo tamanho ?
e o page vai se esticar ?
BASECLASS=="Container
BASECLASS=="Pageframe"
Seu codigo somente vai funcionar se eu fizer um form com pageframe com container ????
e os commands texts outros obejtos vao continuar do mesmo tamanho ?
e o page vai se esticar ?
_batmanvfp_- Participa Bastante

Re: Resolucao ajustar Objetos
_batmanvfp_ escreveu:BASECLASS=="Page
BASECLASS=="Container
BASECLASS=="Pageframe"
Seu codigo somente vai funcionar se eu fizer um form com pageframe com container ????
Eu não programava tão bem em 2008, esse código pode ser otimizado pra ficar menor e etc, mas a funcionalidade continuará a mesma.
Estas linhas:
- Código:
BASECLASS=="Page"
BASECLASS=="Container
BASECLASS=="Pageframe"
existem porque há um tratamento para objetos deste tipo, quando existirem, pois pageframes e containers contém outros objetos, estes objetos que eles contém precisam de ajuste no tamanho também. Mas o código não exige que voce tenha tais objetos no form. Um form em branco também deve funcionar.
_batmanvfp_ escreveu:
e os commands texts outros obejtos vao continuar do mesmo tamanho ?
e o page vai se esticar ?
A parte do código que ajusta todos os demais itens (botões, caixas de texto) é esta aqui:
- Código:
OTHERWISE
Controle.HEIGHT=(Controle.HEIGHT/ResolucaoY) * SYSMETRIC(2)
Controle.WIDTH=(Controle.WIDTH/ResolucaoX) * SYSMETRIC(1)
Controle.TOP=(Controle.TOP/ResolucaoY) * SYSMETRIC(2)
Controle.LEFT=(Controle.LEFT/ResolucaoX) * SYSMETRIC(1)
ENDCASE
Os controles aumentam de tamanho de forma proporcional a resolução do monitor. Se na resolução 800x600 um botão tem tamanho 100X100, em 1024x768 ele será ajustado para 128x128.
_________________
Adeus, FoxPro. Agora vou programar em Java [Você precisa estar registrado e conectado para ver esta imagem.]

Tales Ruan- Participa Bastante

Página 2 de 2 •
1, 2
Página 2 de 2
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum
» Criar atalho, SYS(2020) e Desktop
» Karaoke feito em FoxPro 2.6
» Como separar caminho do diretório?
» Erro no Projeto Chat
» Utilizando PHPMailer
» Programador em Visual Foxpro
» Link PHP (Dúvida)
» Fundo do PROJETO Transparente??
» Minimizar , Maximizar e Restaurar
» Pivot Table no sql server
» Scroll EditBox Automatico
» Select Nexval do FoxPro no OracleXE
» Colocar gif na caixa do MESSAGEBOX ()
» Comparar Versões do programa.exe
» Menu lateral
» Fazer com que a tela do sistema assume a janela principal
» Trocar Palavra no Sistema
» invocar Dll em Xbase
» Fechar Porta Aberta