Jump to content
Fivewin Brasil

Dimensões de Telas ?


atenilto

Recommended Posts

Por retrar-me, a resposta da dbwide não difere muito da minha :

DANIEL ANDRADE, fala em criar 3 DLL uma para 640x480, 800x600, 1024x768 (isto e coisa de louco e na minha modesta opinião), e fala tambem do uma classe chamada EASYDIALOG de Timm Sodtalbers, no mais fica na mesma.

Eu não sou mané (hehehehe), um grande abraço

Elias Abrão Júnior

Indaiatuba - SP

eajunior.sp@terra.com.br

Link to comment
Share on other sites

he he he he.... Eu acho que a Classe em que o MARK se referiu, era o FIVEWIDI.PRG que baixei, e não entendi nada, me parece que ele gera dialogos em @SAY é isso Elias? Você gostou? Explique um pouco o FIVEWIDI por favor. Mané sou eu... mas eu não sou o VURRO? Abraços. Tô tão confuso.

João Santos

São Paulo-Brasil

(11) 3106-2832 a Noite

karinhannah@ubbi.com.br

Link to comment
Share on other sites

Ola João, baixei o fivewidi quando comecei a programar em fivewin e tambem não entendi nada, era muito confuso para minha cabeça, ai desisti e nunca mais olhei para este programa. Deve ter alguem no forum que conheça o produto e possa de dar explicações mais detalhadas, mas se e apenas para fazer as telas em @SAY prefiro continuar com o meu velho WS, irei ver o fivewidi neste fim de semana e depois te passo um informação melhor do que ele faz.

Acredito que a solução definitiva para o ATENILDO, e de comprar o EASYDIALOG.

Falando nele, voce ja o convidou para pagar umas (um monte) cervejas para nos.

Elias Abrão Júnior

Indaiatuba - SP

eajunior.sp@terra.com.br

Link to comment
Share on other sites

Elias, to agendando(metido) com o ZECA para a semana que vem, falta o vagner, que depois vejo. Não sei se o Atenilto mora aqui em São Paulo, mas quem quiser ir, basta nos avisar. vamos beber até cair. É a vantagem de se usar WorkShop, sobra tempo pra sair... he he he he he. Se alguem tiver testado o FIVEWIDI favor nos dar informações sim?

João Santos

São Paulo-Brasil

(11) 3106-2832 a Noite

karinhannah@ubbi.com.br

Link to comment
Share on other sites

fala ae meu grande amigo Bira... vai vir a Sampa tomar celvas? Semana que vem. O Vagner está ocupaderrimo terminando o VGET.prg não esqueça de baixar uma versão quando ele postar. Abraços e muita paz. Lembranças para CiaNorte.

João Santos

São Paulo-Brasil

(11) 3106-2832 a Noite

karinhannah@ubbi.com.br

Link to comment
Share on other sites

citação:

Nada não, só queria aparecer....hehehehe

Falar nisso cade o vagner que sumiu.....esqueceu de mim amigo?

Muita paz a todos

Bira

prosoftt@bol.com.br


id=quote>id=quote>

Olá Bira,

Não esqueci não, só têm um problema eu não consigo + compilar em clipper puro, mas como disse o João, estou terminando os últimos detalhes, já estava pronta mas para minha versão, agora estou mudando para outras versões do FW, e dá canseira, pois dependo de comentários de outros, quem está testando para mim é o Marllon, e é lógico que ele também têm o que fazer :þ), por isso demora um pouco, mas está quase lá :þ

Obrigado Marllon.

Abraços

Vagner Wirts

São Paulo-Brasil

Link to comment
Share on other sites

Por nada meu amigo, tamos ai pra isso...

no que eu puder ajudar

citação:

citação:

Nada não, só queria aparecer....hehehehe

Falar nisso cade o vagner que sumiu.....esqueceu de mim amigo?

Muita paz a todos

Bira

prosoftt@bol.com.br


id=quote>id=quote>

Olá Bira,

Não esqueci não, só têm um problema eu não consigo + compilar em clipper puro, mas como disse o João, estou terminando os últimos detalhes, já estava pronta mas para minha versão, agora estou mudando para outras versões do FW, e dá canseira, pois dependo de comentários de outros, quem está testando para mim é o Marllon, e é lógico que ele também têm o que fazer :þ), por isso demora um pouco, mas está quase lá :þ

Obrigado Marllon.

Abraços

Vagner Wirts

São Paulo-Brasil


id=quote>id=quote>

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Porto Alegre - RS

marllonfigueiredo@globo.com

Link to comment
Share on other sites

// Marllon, Meu Caro Amigo... Agora é Com Você Encerrar Este Tópico Tão

// Quente(Não tenha dúvidas, me deu altissima Satisfação).

// Por favor teste esta modificação em DIALOG.PRG faça os ajustes

// Finais(Pois notei que dá Pequenos desajustes em meus botões e dialogos,

// Mas, funciona perfeitamente. Como não entendo nada de Classe, solicito

// o Especial Obséquio de V.sa. Que Altere a Classe, Teste, e Poste as

// Mudanças que você fizer. Por Favor. Seu amigo de sempre, João.

// Não esqueça, que preciso de sua opinião isenta e profissional, com o

// Intuito de Ajudar Toda a Nossa Comunidade de FIVEWINNERS. Obrigado!!!

// Obs: Você é grande. Conte sempre com todo o meu respeito e apreço.

// Abraços. Quando quiser pegar no meu pé, pegue... Eu gosto! Me dá forças!

//---------------------------------------------------------------------------//

// Vagner, Elias e os demais, ajudem-me a modernizar isto, pois não sou

// bom para alterar Classes, e o meu amigo Ednaldo Rolim está sem tempo.

// Pelo menos, sou honesto em admitir quem em algumas coisas, não sou bom.

// Graças a Deus, Conto Com Amigos Tão Fantásticos como vocês e Ednaldo.

//---------------------------------------------------------------------------//

// Enviado por Ednaldo Rolim

// João,

// Aqui está a solução para o problema de dialogs com o Workshop

// em 3 etapas.

//---------------------------------------------------------------------------//

// 1) Definir o seguinte método na classe dialog.prg, Incorpore ao

// Seu Sistema. No *.rmk e no *.lnk

// Está em: \fw..\source\classes - DIALOG.PRG

METHOD MISetSize( aPor )

//---------------------------------------------------------------------------//

// Enviado por Ednaldo Rolim

// 2) Criar o método e a função a seguir:

METHOD MISetSize( aPor ) CLASS TDialog

LOCAL hDlg := ::hWnd

LOCAL hCtrl := GetWindow( hDlg, GW_CHILD )

LOCAL hFont, oFont, I, AINFO, aRect, nWidth, nHeight, lRepaint:=.T.

LOCAL nPorH, nPorV, nIdControl, nPosControl

DEFAULT aPor := DLG_RESOLUCION( Self )

nPorH := aPor[1]

nPorV := aPor[2]

if nPorh=1 .and. nPorv=1

return nil

endif

nWidth := ::nWidth * nPorH

nHeight:= ::nHeight * nPorV

Super:SetSize( nWidth, nHeight, lRepaint )

::Move( MAX( WndTop( hDlg),1), MAX(WndLeft( hDlg),1) )

**** Redimensionamento dos Controles

While hCtrl != 0 .AND. GetParent( hCtrl ) == hDlg

aRect := GetClientRect( hCtrl )

nWidth := (aRect[4]-aRect[2]) * nPorH

nHeight := (aRect[3]-aRect[1]) *nPorV

WndSetSize( hCtrl, nWidth, nHeight, lRepaint )

WndLeft( hCtrl, WndLeft( hCtrl) * nPorh)

WndTop( hCtrl, WndTop( hCtrl) * nPorv)

hCtrl = GetWindow( hCtrl, GW_HWNDNEXT )

Enddo

*** Redimensionamento das Fontes

FOR I=1 TO LEN(::aControls)

IF ::aControls:ofont != nil

hFont := ::aControls:ofont:hFont

aInfo = GetFontInfo( hFont )

oFont = TFont():New(::aControls:ofont:cFaceName, ;

(aInfo[2]*nPorV), (aInfo[1] * nPorH), , ;

::aControls:ofont:lBold, ;

::aControls:ofont:nEscapement, ;

::aControls:ofont:nOrientation, ;

aInfo[3], ::aControls:ofont:lItalic, ;

::aControls:ofont:lUnderline, ;

::aControls:ofont:lStrikeOut, ;

::aControls:ofont:nCharSet, ;

::aControls:ofont:nOutPrecision, ;

::aControls:ofont:nClipPrecision, ;

::aControls:ofont:nQuality, )

::aControls:SETFONT(ofont)

endif

NEXT

Return Nil

//---------------------------------------------------------------------------//

// Enviado por Ednaldo Rolim

// função que devolve os multiplicadores dependendo da resolução atual e

// tamanho original da dialog

FUNCTION DLG_RESOLUCION( oDlg )

LOCAL aPor := {1,1}, nWidth := GetSysMetrics(0), ;

nHeight := GetSysMetrics(1)

LOCAL nPor_640 := 1, nPor_800 := 1.2500, nPor_1024 := 1.6000, ;

nPor_1152 := 1.800

DO CASE

// DIALOGO DESENHADO PARA 1152x864

CASE oDlg:nWidth>1024 .OR. oDlg:nHeight>768

nPor_640 := 0.5555 // 0.3

nPor_800 := 0.6944 // 0.5

nPor_1024 := 0.8897 // 0.8

nPor_1152 := 1.0

// DIALOGO DESENHADO PARA 1024x768

CASE oDlg:nWidth>800 .OR. oDlg:nHeight>600

nPor_640 := 0.6250 // 0.5

nPor_800 := 0.7812 // 0.7

nPor_1024 := 1.0

nPor_1152 := 1.1250 // 1.2

// DIALOGO DESENHADO PARA 800x600

CASE oDlg:nWidth>640 .OR. oDlg:nHeight>480

nPor_640 := 0.8

nPor_800 := 1.0

nPor_1024 := 1.2800 // 1.3

nPor_1152 := 1.4400 // 1.5

ENDCASE

IF nWidth >= 1152 // ESTAMOS EM 1152x864

aPor := { nPor_1152, nPor_1152 }

ELSEIF nWidth >= 1024 // ESTAMOS EM 1024x768

aPor := { nPor_1024, nPor_1024 }

ELSEIF nWidth >= 800 // ESTAMOS EM 800x600

aPor := { nPor_800, nPor_800 }

ELSEIF nWidth >= 640 // ESTAMOS EM 640x480

aPor := { nPor_640, nPor_640 }

ENDIF

RETURN aPor

/*

// 3) Como Usar ?

// Em todos os Activate Dialog Usar Como Segue Abaixo:

// ACTIVATE DIALOG oDlg ON INIT oDlg:MISetSize() // É Isto. Show().

// Pronto. Seu diálogo vai se tornar do tamanho da sua tela,

// sendo acrescido por um fator aPor.

// Esse método usa um array com o percentual de ajuste, mas pode

// ser apenas um número, se vc não quiser passar valores fora dos padrões.

// É isso ai João...

// Epero que entendas...

// Ednaldo Rolim - The Best Programmer(minha modesta opinião-João).

// edrol@uol.com.br - My Super Friend. Ele é tão modesto, que não assina.

*/

//---------------------FIM DO PROGRAMA---------------------------------------//

João Santos

São Paulo-Brasil

(11) 3106-2832 a Noite

karinhannah@ubbi.com.br

Link to comment
Share on other sites

Ola João, e muito interessante a solução do Ednaldo Rolim, resolve totamente o problema do ATELNITO, mas se formos analizar a solução DO EASY DIALOG e mais pratico, pois alem de redefinir as telas, as mantem nas mesmas posição do que o usuario definiu, testei e deu algumas distorções em tela, mas irei ver com mais calma depois, pois preciso terminar este bendito primeiro sistema em FW pois meus prazos ja foram para o espaço.

Não esqueça de informar o dia da cervejada com antecedencia pois como sabe não moro em São Paulo, estou a 145 KM dai.

Um abraço

Elias Abrão Júnior

Indaiatuba - SP

eajunior.sp@terra.com.br

Link to comment
Share on other sites

Entendo perfeitamente Elias. Por isso estou postando aqui, pois assim o Vagner o Marllon e o demais, podem implementar a classe e deixá-la perfeita, pois uma coisa é certa, o pessoal daqui, no mínimo são os melhores. The Best.

Além disso, temos que levar em consideração que nem todo mundo tem dinheiro né? Pelo menos, já temos o inicio de uma solução final para a grande batalha neste tópico. Abraços.

Conto com você Marllon... Com nunca falhou...

João Santos

São Paulo-Brasil

(11) 3106-2832 a Noite

karinhannah@ubbi.com.br

Link to comment
Share on other sites

João, bom dia

fiquei muito interessado na solucao do Ednaldo... ela pode ajudar em alguns probleminhas que estou tendo e que muitos como eu tbm podem estar tendo, a exemplo do Atenilto, assim que tiver um tempo vou analiza-la melhor e se eu puder colaborar com alguma melhoria podem contar comigo... por enquanto estou como o Elias disse "COM O TEMPO ESGOTADO... meu relogio tá andando pra traz... hehehehehehehehe...

citação:

Entendo perfeitamente Elias. Por isso estou postando aqui, pois assim o Vagner o Marllon e o demais, podem implementar a classe e deixá-la perfeita, pois uma coisa é certa, o pessoal daqui, no mínimo são os melhores. The Best.

Além disso, temos que levar em consideração que nem todo mundo tem dinheiro né? Pelo menos, já temos o inicio de uma solução final para a grande batalha neste tópico. Abraços.

Conto com você Marllon... Com nunca falhou...

João Santos

São Paulo-Brasil

(11) 3106-2832 a Noite

karinhannah@ubbi.com.br


id=quote>id=quote>

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Porto Alegre - RS

marllonfigueiredo@globo.com

Link to comment
Share on other sites

Marllon, a exemplo do Ednaldo, Elias e Você, também estou com a corda no pescoço, alias, enforcadezimo... Mas assim que possivel, por favor ache a luz final, sei que você pode. Você não imagina o quanto isso é importante para todos nós, já imaginou somente a gente ter a solução? Nem o Daniel Andrade sabe... Seremos os maiorais... he he he.

Em tempo: De coração, obrigado Ednaldo... Você é um dos meus ídolos. (vai ser puxa-saco assim la na...)

João Santos

São Paulo-Brasil

(11) 3106-2832 a Noite

karinhannah@ubbi.com.br

Link to comment
Share on other sites

  • 9 years later...

citação:

Atenildo,

enviei para seu e-mail um programa que cria uma DIALOG e define suas dimensoes dinamicamente.

dê uma olhada e veja se resolve pra voce.

abraços...

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Porto Alegre - RS

marllonfigueiredo@globo.com


id=quote>id=quote>
Link to comment
Share on other sites

citação:

Atenildo,

enviei para seu e-mail um programa que cria uma DIALOG e define suas dimensoes dinamicamente.

dê uma olhada e veja se resolve pra voce.

abraços...

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Porto Alegre - RS

marllonfigueiredo@globo.com

envia para mim: mmatos566@hotmail.com


id=quote>id=quote>
Link to comment
Share on other sites

boa tarde, essa classe e interessante, realmente funciona,, so que seria legal se criasse ela fora da dialog.prg,,, alguem saberia criar ela fora da dialog.prg ou postar aqui um exemplo.

/ Marllon, Meu Caro Amigo... Agora é Com Você Encerrar Este Tópico Tão

// Quente(Não tenha dúvidas, me deu altissima Satisfação).

// Por favor teste esta modificação em DIALOG.PRG faça os ajustes

// Finais(Pois notei que dá Pequenos desajustes em meus botões e dialogos,

// Mas, funciona perfeitamente. Como não entendo nada de Classe, solicito

// o Especial Obséquio de V.sa. Que Altere a Classe, Teste, e Poste as

// Mudanças que você fizer. Por Favor. Seu amigo de sempre, João.

// Não esqueça, que preciso de sua opinião isenta e profissional, com o

// Intuito de Ajudar Toda a Nossa Comunidade de FIVEWINNERS. Obrigado!!!

// Obs: Você é grande. Conte sempre com todo o meu respeito e apreço.

// Abraços. Quando quiser pegar no meu pé, pegue... Eu gosto! Me dá forças!

//---------------------------------------------------------------------------//

// Vagner, Elias e os demais, ajudem-me a modernizar isto, pois não sou

// bom para alterar Classes, e o meu amigo Ednaldo Rolim está sem tempo.

// Pelo menos, sou honesto em admitir quem em algumas coisas, não sou bom.

// Graças a Deus, Conto Com Amigos Tão Fantásticos como vocês e Ednaldo.

//---------------------------------------------------------------------------//

// Enviado por Ednaldo Rolim

// João,

// Aqui está a solução para o problema de dialogs com o Workshop

// em 3 etapas.

//---------------------------------------------------------------------------//

// 1) Definir o seguinte método na classe dialog.prg, Incorpore ao

// Seu Sistema. No *.rmk e no *.lnk

// Está em: \fw..\source\classes - DIALOG.PRG

METHOD MISetSize( aPor )

//---------------------------------------------------------------------------//

// Enviado por Ednaldo Rolim

// 2) Criar o método e a função a seguir:

METHOD MISetSize( aPor ) CLASS TDialog

LOCAL hDlg := ::hWnd

LOCAL hCtrl := GetWindow( hDlg, GW_CHILD )

LOCAL hFont, oFont, I, AINFO, aRect, nWidth, nHeight, lRepaint:=

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