Tooltip com Icone

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Tooltip com Icone

Mensagem por asimoes »

Tooltip com Icone

Imagem

Código:

Código: Selecionar todos


#define WM_USER                 0x0400
#define TTM_SETTITLE            (WM_USER + 32)
#define TTI_NONE                0
#define TTI_INFO                1
#define TTI_WARNING             2
#define TTI_ERROR               3

FUNCTION Teste
INIT DIALOG  oDlgReport TITLE "Teste" ;
           ICON    oIconPrint ;
           AT      0,0 SIZE 1024,768 ;
           CLIPPER ; 
           FONT    oFont ;
           COLOR   nCorJanela ;
           STYLE DS_CENTER + WS_SYSMENU + WS_VISIBLE ;
           ON INIT {| oDlgReport | ToolTipTitulo(oDlgReport,"Preview do Relatório")} 

    @ 006,020 BUTTONEX cmd1 ;
                CAPTION  "Teste" ;
                ON CLICK { || ZoomRep(oEdit,'-',oDlgReport)} ;
                SIZE     115, 40 ;
                ICON     oIconZoomOut:handle  ;
                TOOLTIP  'Teste com Tooltip com Icone' 

oDlgReport:Activate(.F.)

RETURN Nil

FUNCTION ToolTipTitulo(oJanela, cTitulo)
   hb_Default(@cTitulo,"")
   SendMessageString(GetToolTipHandle(oJanela:handle),TTM_SETTITLE, TTI_INFO, cTitulo)
RETURN Nil

#pragma BEGINDUMP

#include <windows.h>

#include "hbapi.h"

HB_FUNC( SENDMESSAGESTRING )
{
   hb_retnl( ( LONG ) SendMessage( ( HWND ) hb_parnl( 1 ), ( UINT ) hb_parni( 2 ), ( WPARAM ) hb_parnl( 3 ), ( LPARAM ) ( LPSTR ) hb_parc( 4 ) ) );
}

#pragma ENDDUMP

►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Tooltip com Icone

Mensagem por asimoes »

Outros defines com icone grande.

#define WM_USER 0x0400
#define TTM_SETTITLE (WM_USER + 32)
#define TTI_NONE 0
#define TTI_INFO 1
#define TTI_WARNING 2
#define TTI_ERROR 3
#define TTI_INFO_LARGE 4
#define TTI_WARNING_LARGE 5
#define TTI_ERROR_LARGE 6

Imagem

Código: Selecionar todos

ON INIT {| oDlgReport | ToolTipTitulo(oDlgReport,"Preview do Relatório",TTI_INFO_LARGE)...

FUNCTION ToolTipTitulo(oJanela, cTitulo, nIconIndex)
   hb_Default(@cTitulo,"")
   hb_Default(@nIconIndex,TTI_INFO)
   SendMessageString(GetToolTipHandle(oJanela:handle),TTM_SETTITLE, nIconIndex, cTitulo)
RETURN Nil
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Tooltip com Icone

Mensagem por Pablo César »

Obrigado Alexandre por compartilhar conosco !

Vou aproveitar e postar este recurso para HMG.

Muito legal, gostei !
Anexos
Screen_01.PNG
Screen_01.PNG (11.19 KiB) Exibido 1951 vezes
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Tooltip com Icone

Mensagem por asimoes »

Colocar cores na janela do tooltip, só não funciona com o waindow.manifest incluído no arquivo de resource.

ex.:

Imagem

Código: Selecionar todos


#define WM_USER                 0x0400
#define TTM_SETDELAYTIME        (WM_USER + 3)
#define TTM_SETTIPBKCOLOR       (WM_USER + 19)
#define TTM_SETTIPTEXTCOLOR     (WM_USER + 20)
#define TTM_SETMAXTIPWIDTH      (WM_USER + 24)
#define TTM_SETTITLE            (WM_USER + 32)
#define TTI_NONE                0
#define TTI_INFO                1
#define TTI_WARNING             2
#define TTI_ERROR               3
#define TTI_INFO_LARGE          4
#define TTI_WARNING_LARGE       5
#define TTI_ERROR_LARGE         6  

FUNCTION ToolTipTitulo(oJanela, cTitulo, nIconIndex)
   hb_Default(@cTitulo,"")
   hb_Default(@nIconIndex,TTI_INFO)
   
   SendMessageToolTip( GetToolTipHandle(oJanela:handle), TTM_SETTIPBKCOLOR, RGB(255,255,0), 0 ) //Só funciona sem o windows.manifest
   
   SendMessageString(GetToolTipHandle(oJanela:handle),TTM_SETTITLE, nIconIndex, cTitulo)
   
RETURN Nil
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Tooltip com Icone

Mensagem por Pablo César »

Alexandre na sua linha 20, não deveria ser esta:

SendMessage( GetToolTipHandle(oJanela:handle), TTM_SETTIPBKCOLOR, RGB(255,255,0), 0 ) //Só funciona sem o windows.manifest

ao invés desta ?

SendMessageToolTip( GetToolTipHandle(oJanela:handle), TTM_SETTIPBKCOLOR, RGB(255,255,0), 0 ) //Só funciona sem o windows.manifest

No HMG existe o SET TOOLTIPBACKCOLOR <aColor>
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Tooltip com Icone

Mensagem por asimoes »

Pablo,

A ordem não influi, agora a SenMessageToolTip só funcionará se a SendMensageString for chamada.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Tooltip com Icone

Mensagem por Pablo César »

Não entendi. A função SendMessageToolTip, não está presente. Mas tudo bem, funciona con SendMessage.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Tooltip com Icone

Mensagem por asimoes »

Ops, foi uma falha minha:

A função SendMessageToolTip encapsula a sendmessage:

Código: Selecionar todos

#pragma BEGINDUMP

#include <windows.h>

#include "hbapi.h"
HB_FUNC( SENDMESSAGESTRING )
{
   hb_retnl( ( LONG ) SendMessage( ( HWND ) hb_parnl( 1 ), ( UINT ) hb_parni( 2 ), ( WPARAM ) hb_parnl( 3 ), ( LPARAM ) ( LPSTR ) hb_parc( 4 ) ) );
}

HB_FUNC( SENDMESSAGETOOLTIP )
{
   hb_retnl( ( LONG ) SendMessage( ( HWND ) hb_parnl( 1 ), ( UINT ) hb_parni( 2 ), ( WPARAM ) hb_parnl( 3 ), ( LPARAM ) hb_parnl( 4 ) ) );
}

#pragma ENDDUMP

►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder