Página 1 de 1
Mostrar Tooltip em GET
Enviado: 25 Jan 2013 11:39
por marcos.gurupi
Caros, eu precisava mostrar na tela de vendas o estoque atual do produto, eu pensava em quando o usuario digitasse o codigo do produto aparecer o estoque atual do produto no campo GET "QUANTIDADE" com no tipo TOOLTIP, ou seja, nao é necessário estah em foco e aparecer por um determinado tempo e sumir. Alguem saberia fazer isso em HWGUI ?
Mostrar Tooltip em GET
Enviado: 25 Jan 2013 11:50
por Pablo César
Oi Marcos, eu em HMG chamo o ToolTip assim:
#define TTM_SETMAXTIPWIDTH (WM_USER + 24)
SendMessage( GetFormToolTipHandle ("Form_1"), TTM_SETMAXTIPWIDTH, 0, 168)
e para atribuir novo valor assim:
_SetToolTip("Text_"+Str(nField,1,0),"Form_1","")
Espero ter ajudado. Quiser dar uma olhadinha tem no View_Build_Log.prg aqui no Downloads.
Mostrar Tooltip em GET
Enviado: 25 Jan 2013 21:12
por marcos.gurupi
Caro, aqui deu falta da funcao "GetFormToolTipHandle()", nao sendo possivel testar.
Mostrar Tooltip em GET
Enviado: 26 Jan 2013 10:52
por Pablo César
Marcos,
Eu disse que faço em HMG e citei como faço para ao menos dar uma ideia ou mostrar o caminho das pedras. O resto em com você em HwGui. A função que falta é para localizar o handle do ToolTip no formulário em HMG. Evidentemente que as variáveis não são as mesmas para HwGui, veja se tem algo similar ou se dá para adaptar. De todas as formas, disponibilizo a função para sua avaliação:
Código: Selecionar todos
Function GetFormToolTipHandle (FormName)
Local mVar , i
mVar := '_' + FormName
i:=&mVar
if i == 0
Return 0
endif
Return ( _HMG_SYSDATA [ 73 ] [ &mVar ] )
Mostrar Tooltip em GET
Enviado: 27 Jan 2013 01:23
por marcos.gurupi
Caro Pablo eu nao conheco tanto de hwgui para tentar algo assim. Mas obrigado pela ajuda.
Fica entaum registrado. Se alguem souber fazer o mesmo em hwgui post aqui.

´
Mostrar Tooltip em GET
Enviado: 27 Jan 2013 11:06
por Toledo
HMG neste caso nunca vai funcionar, veja este exemplo em HwGui:
Código: Selecionar todos
#include "guilib.ch"
FUNCTION Main
LOCAL oMain
PRIVATE vEdit1 := "", vEdit2 := "", cEstoque := ""
PRIVATE oDescr, oEdit1, oEdit2
INIT WINDOW oMain MAIN TITLE "Exemplo" ;
AT 20,20 SIZE 522,173
@ 13,12 SAY "Cód.Produto" SIZE 80,19
@ 13,34 GET oEdit1 VAR vEdit1 SIZE 80,24 PICTURE '999' MAXLENGTH 3 ;
VALID {|| ValidaProd() }
@ 108,12 SAY "Descrição do Produto" SIZE 144,19
@ 108,35 SAY oDescr CAPTION "" SIZE 398,25 ;
FONT HFont():Add( '',0,-19,700,,,)
@ 13,71 SAY "Quantidade" SIZE 80,19
@ 13,93 GET oEdit2 VAR vEdit2 SIZE 116,24 PICTURE '9999' MAXLENGTH 4 ;
TOOLTIP 'Informe a Quantidade ( Estoque: 0 )' ;
WHEN {|w,o| MostraToolTip(w,o) }
ACTIVATE WINDOW oMain
RETURN Nil
Function MostraToolTip(w,o)
oEdit2:SetToolTip( 'Informe a Quantidade ( Estoque: '+cEstoque+' )' )
ToolTipShow(o)
return .T.
Function ValidaProd()
if Val(vEdit1)==1
cEstoque = "10"
oDescr:SetText("Produto 1")
else
cEstoque = "20"
oDescr:SetText("Produto 2")
endif
return .T.
Function ToolTipShow( o )
LOCAL ac
ac := GetWindowRect( o:handle )
HWG_SETCURSORPOS( ac[ 1 ] + ( ac[ 3 ] -ac[ 1 ] - 2 ), ac[ 2 ] + 1 )
return .t.
Obs.: código de produto para teste é apenas 1 e 2.
Abraços,
Mostrar Tooltip em GET
Enviado: 27 Jan 2013 18:52
por marcos.gurupi
Toledo este exemplo funciona em hwgui? Eh pq aqui deu falta da funcao "HWG_SETCURSORPOS()"
Mostrar Tooltip em GET
Enviado: 27 Jan 2013 21:46
por Toledo
Marcos, sim, é um exemplo em HwGui.
Atualiza a sua versão da HwGui, pois esta função foi incluída em 2010.
2010-07-03 23:00 UTC-0300 Luis Fernando Basso <lfbasso at via-rs.net>
* source\control.c
+ static wpOrigTreeViewProc
+ TreeViewSubclassProc
+ HB_FUNC( HWG_INITTREEVIEW )
handling events in class TREEVIEW
* source\hdialog.prg
! minor fix in ENDDIALOG() and InitFocus in InitModalDlg()
* source\hupdown.prg
! fix in tooltip
* source\misc.c
+ function HB_FUNC( HWG_SETCURSORPOS )
Abraços,
Mostrar Tooltip em GET
Enviado: 29 Jan 2013 20:05
por marcos.gurupi
Obrigado toledo, vou ver aqui pq a ultima vez q fiz isso tive muitos problemas.
Mostrar Tooltip em GET
Enviado: 30 Jan 2013 21:22
por marcos.gurupi
Atualizei a minha hwgui e ficou do jeito que eu pensava. Agora vou ver se a atualizacao nao causou algum problema, principalmente problemas de foco (como da outra vez). Vou testar aqui e atualizar no cliente. Obrigado a todos.