Página 1 de 5
Harbour + Visual LIB
Enviado: 22 Mai 2009 09:40
por Antonio
Pessoal
Sera possivel contornar o problema da desconfiguração de caracteres que a visual lib tem quando minimizamos e apos maximixamos a janela da aplicação no windows?
Ouço comentarios de que com GTWVW, GTWVT, etc seria possivel contornar esse problema.
Peço ajuda pois nunca usei essas GTs, no sentido de implementar isso com a visual lib.
Neste pequeno codigo a seguir, como eu faria para usar essas GTs e resolver o problema citado?
Código: Selecionar todos
#include "inkey.ch"
#include "visual2.ch"
FUNCTION MAIN()
Local aEnv
set key K_F10 to Saida
SetKeyMouse( K_F10, { 24, 24, 72, 79 } )
Desktop()
vlsetmouse(.t.)
DrawFn( 10, "Sa¡da" )
mBar := NewBarMenu()
mPdn := NewDownMenu()
AddBarItem( mBar, "&Pull-Down" , "Demonstra‡Æo dos recursos do Menu Pull-Down", mPdn )
AddDownItem( mPdn, "Op‡Æo &1", "Primeira Op‡Æo - Sem fun‡Æo vinculada" )
AddDownItem( mPdn, "Op‡Æo &2", "Segunda Op‡Æo - Sem fun‡Æo vinculada" )
AddDownSep ( mPdn ) // Linha de separa‡Æo
AddDownItem( mPdn, "Sai&r", "Encerra o programa", { || Saida() } )
WHILE .T.
BarMenu( mBar )
set key K_F10 to
SetKeyMouse( K_F10, {} )
VLExit()
set key K_F10 to saida
SetKeyMouse( K_F10, { 24, 24, 72, 79 } )
END
RETURN NIL
FUNCTION SAIDA
Local aKM := SetKeyMouse( K_F10, {} )
Set Key K_F10 to
VLExit()
Set key K_F10 to saida
SetKeyMouse( K_F10, aKM )
RETURN NIL
A versão do xHarbour que estou usando é a 1.2.1 (BCC 5.8.2)
Tenho a Visual Lib convertida para xHarbour
Grato
Antonio Carlos
Nota de Moderação:por
Sygecom: Topico editado para colocar codigo dentro da TAG [ CODE ]
Re: Harbour + Visual LIB
Enviado: 22 Mai 2009 12:43
por sygecom
Olá Antonio,
Veja o exemplo nos link abaixo, eu tenho sistema até hoje usando VL+GTWVT+XHARBOUR sem problemas.
http://www.4shared.com/file/68584067/83 ... gtwvt.html
http://www.4shared.com/file/68300002/cc ... le_vl.html
Abaixo um lista de funções da GTWVT
http://www.4shared.com/file/68300238/49 ... cunho.html
Abaixo um exemplo de menus em GTWVW, sem uso da VL
http://www.4shared.com/file/68584176/ec ... gtwvw.html
Nota: Todos os exemplo foram compilados com a versão 1.0.0 do xHarbour, eu ainda não compilei com a ultima versão do xHarbour 1.2.0, mas muda pouca coisa pelo que ainda vendo, é apenas linkar uma LIB a mais e mudar as GTINFO() por HB_GTINFO() , inclusive aqui no forum já teve um colega com esses duvidas, é só da uma procurada nos topicos anteriores que você acha.
Re: Harbour + Visual LIB
Enviado: 22 Mai 2009 12:50
por asimoes
Olá Antônio,
Você pode também usar a solução que eu coloquei em Contribuições.
Usando a fonte visuallib.ttf
Fica igual a que é usada no clipper.
https://pctoledo.org/forum/viewto ... &t=9299er.
Use a lib gtwvg
Sugestão de uso:
Na sua aplicação principal.
Código: Selecionar todos
INIT FUNCTION AppSetup()
REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850
HB_LANGSELECT("PT")
HB_SetCODEPAGE( "PT850" )
REQUEST WVT_SETCODEPAGE
WVT_SETCODEPAGE(255) //850
SETMODE(25,80)
SET TYPEAHEAD TO 0
SET INTENSITY ON
SET SCOREBOARD OFF
SET DELETED ON
SET SAFETY OFF
SET DATE BRITISH
SET ESCAPE ON
SET CENTURY ON
SET DELIMITERS TO
SET CURSOR OFF
SET EXCLUSIVE OFF
SET WRAP ON
SET EPOCH TO 1990
Do Case
Case HB_gtinfo(GTI_DESKTOPWIDTH) >= 1024
Wvt_SetFont('VisualLib',28,11,FW_MEDIUM,2) //28,10,0 FW_NORMAL, FW_BOLD, FW_BLACK
Case HB_gtinfo(GTI_DESKTOPWIDTH) >= 800
Wvt_SetFont('VisualLib',21,11,FW_MEDIUM,2) //28,10,0 FW_NORMAL, FW_BOLD, FW_BLACK
OtherWise
Wvt_SetFont('VisualLib',15,7,FW_MEDIUM,2) //28,10,0 FW_NORMAL, FW_BOLD, FW_BLACK
EndCase
WvT_SetAltF4Close( .F. )
WvT_SetPointer( 0, 100 )
WvT_SetTITLE('Sistema X - Vs.1.0')
RETURN Nil
[]´s
Re: Harbour + Visual LIB
Enviado: 22 Mai 2009 17:31
por Antonio
Poxa gente, to até emocionado....
Não testei nada ainda, somente li o topico e ja apareceram duas respostas que algo me diz ter encontrado a solução.
Obrigado por enquanto.
[]
Antonio Carlos
Re: Harbour + Visual LIB
Enviado: 22 Mai 2009 23:18
por Antonio
Acabei de fazer funcionar com HARBOUR 1.1.0(Rev 11075)
Não instalei o fonte Visuallib.ttf, fui pelo tradicional
Realmente a desconfiguração de caracteres não existe mais (resolveu), contudo os botões, as bordas das msgbox, etc... estão diferentes do original... os botões estão demarcados por uma linha simpes e nas opções desses botções existem delimitadores, tipo <<Ok>>, <<Sair>>.
É por ai mesmo, fica dessa forma?
[]
Antonio Carlos
Re: Harbour + Visual LIB
Enviado: 23 Mai 2009 15:49
por janio
asimões,
Resolvi testar sua solução, porém não consegui fazer funcionar com resolução 800x600.
Tem alguma idéia do que pode estar acontecendo??
Re: Harbour + Visual LIB
Enviado: 23 Mai 2009 17:54
por Antonio
Aqui funciona tanto em 800 X 600, quanto em 1024 X 768 no tradicional, sem o TTF.
Re: Harbour + Visual LIB
Enviado: 23 Mai 2009 18:44
por janio
Sem TTF, blz, funciona aqui tambem.
Me refiro que funcionou na resolução 800x600 utilizando a fonte modificada pelo asimoes.
Essa fonte modifica pelo asimoes é justamente para tentar resolver o problema dos botões, das bordas das msgbox, que ficam com um alinha simples...
Re: Harbour + Visual LIB
Enviado: 24 Mai 2009 11:18
por Antonio
Bom, estranhamente aqui no meu caso, ao minimizar e apos maximizar o problema com os caracteres aparece, isso usando o recurso da fonte TTF.
Não usando a fonte TTF tudo bem, a não ser as bordas de linhas simples no objeto sem foco e linhas duplas no objeto com o focu.
Re: Harbour + Visual LIB
Enviado: 24 Mai 2009 15:12
por asimoes
Pessoal,
Isso é uma sintonia fina, que é feita na wvt_setfont, com resoluções maiores ou igual a 1024, fica perfeito, com 800 X 600 tem que ir testando,
Por exemplo no meu monitor samsung (LCD) com 800 X 600 a função wvt_setfont fica assim:
wvt_setfont('VisualLib',21,,1)
Com resoluções mais baixas tem fazer o ajuste fino.
Eu testei isso fazendo assim:
Código: Selecionar todos
for i:=10 to 30
for j:=1 to 15
wvt_setcont('visuallib',i,j,1)
msgbox(str(i,2)+' '+str(i,2)) // para saber qual valor de i e j mais se adequa.
inkey(0)
next
next
Outra coisa, baixem o última atualização que eu fiz em contribuições. Fonte VisulLib
Não esqueçam de incluir o fonte vlib.prg no seu projeto, ele está modificado para usar a fonte visuallib.ttf
Removam a fonte que está instalada e reinstalem.
[]´s
Re: Harbour + Visual LIB
Enviado: 25 Mai 2009 12:00
por sygecom
Eu uso até hoje com GTWVT e uso em qualquer resolução sem problemas, estou usando como o exemplo do link que postei acima.
Olá asimoes,
Você pode automatizar essa instalação da sua FONTE, para isso pode usar as funções abaixo:
Código: Selecionar todos
Static Function AddFont()
Local nRet := AddFontResource("VISUAL-LIB.TTF")
If nRet == 0
alert("A fonte VISUAL-LIB.TTF não foi adicionada ao sistema.")
Else
alert("A fonte VISUAL-LIB.TTF foi adicionada ao sistema.")
EndIf
Return Nil
Static Function RemoveFont()
Local lRet := RemoveFontResource("VISUAL-LIB.TTF")
If lRet == .f.
alert("Houve um erro na remoção da fonte VISUAL-LIB.TTF.","Aviso")
Else
alert("A fonte VISUAL-LIB.TTF foi removida com sucesso.","Aviso")
EndIf
Return Nil
Nota: Tem que linkar a WHAT32.LIB
Re: Harbour + Visual LIB
Enviado: 25 Mai 2009 12:46
por Antonio
Alguma coisa não esta certa então, pelo menos comigo.
Pois, por exemplo:
Usando INIT FUNC ou chamando as configurações atraves de uma FUNÇÃO;
Código: Selecionar todos
Init Function Inicio()
REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850
HB_LANGSELECT("PT")
HB_SetCODEPAGE( "PT850" )
REQUEST WVT_SETCODEPAGE
Wvt_Core()
Wvt_Utils()
WvT_SetTITLE('Sistema X - Vs.1.0')
Wvt_SETCODEPAGE(255) //850
Set EventMask To 159
SETMODE(25,80)
Aqui passa a ocorrer erro:
apontando que GTI_DESKTOPWIDTH não existe.
Então chamo essas configurações logo no inicio do PRG e consigo trabalhar dentro dos seus metodos SYGECOM, ja com a fonte.TTF eu instalei ela e compilei o programa, nem testei quanto a resolução de video pois o problema com os caracteres, pelo menos aqui com a fonte.TTF não resolveu.
Então, devo estar pisando na bola em algum aspecto... mas a principio não faço ideia do que seja.
[]
Antonio Carlos
Re: Harbour + Visual LIB
Enviado: 25 Mai 2009 13:31
por sygecom
Tens que linkar o seguinte include no .PRG onde tem as chamadas HB_GTINFO()
#include "hbgtinfo.ch"
Re: Harbour + Visual LIB
Enviado: 25 Mai 2009 13:58
por Antonio
Exatamente, é o que eu faço.
Re: Harbour + Visual LIB
Enviado: 25 Mai 2009 14:08
por sygecom
Qual a versão do seu xharbour ?
Tente mudar para:
Nota: Os exemplos dois link que postei foram testados e compilados com xharbour 1.0.0