Tooltip com imagem

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Tooltip com imagem

Mensagem por Kapiaba »

Tooltip com imagem:

Código: Selecionar todos

    // Tooltip com imagem. Pode-se usar 1, 2 e 3.
    oLbx:cTooltip :={ "Click na ListBox Para Editar...",                       ;
                      "CADASTRO DE DADOS PARA PROPOSTA", 1, CLR_WHITE, CLR_HBLUE }
Abs.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Tooltip com imagem

Mensagem por rochinha »

Amiguinhos,

kapiaba
Tem fotu?
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Tooltip com imagem

Mensagem por Kapiaba »

Claro que sim meu Rey()
CTOOLTIP.png
Abs.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Tooltip com imagem

Mensagem por rochinha »

Amiguinhos,

Creio que aqueles números 1,2 e 3 sejam os números que definem os ícones padrão do registro do Windows para mensagens tipificadas.

Veja dentro de seu aplicativo qual o ID de uma imagem que você apresenta nas telas, qualquer coisa que esteja dentro dos RCs do seu aplicativo e recompile para ver se aparece na dica.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tooltip com imagem

Mensagem por JoséQuintas »

Interessante
Talvez dê pra colocar na WVG também, mas acho que não porque depende da dialog enviar notificação.

https://docs.microsoft.com/en-us/window ... e-tooltips

https://stackoverflow.com/questions/373 ... -and-gdi-c
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tooltip com imagem

Mensagem por JoséQuintas »

Faltou destacar esta parte do texto.
tooltipicon.png
enviar mensagens do Windows a GTWVG faz.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tooltip com imagem

Mensagem por JoséQuintas »

Finalmente, respondendo a pergunta do Rochinha, que pode ou não ser aplicada a Fivewin....

https://docs.microsoft.com/pt-br/window ... m-settitle
tooltip2.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Tooltip com imagem

Mensagem por rochinha »

Amiguinhos,

Vejam:

Código: Selecionar todos

DLL32 FUNCTION LoadIconA;
      ( hInstance AS LONG, ;
        lpIconName AS STRING ) ;
   AS LONG PASCAL; 
   LIB "USER32"

Código: Selecionar todos

DLL32 FUNCTION SendMessaA;
      ( hwnd AS LONG, ;
        wMsg AS LONG, ;
        wParam AS LONG, ;
        @lParam AS LPSTR ) ;
   AS LONG PASCAL; 
   FROM "SendMessageA" LIB "USER32"
DLL.CH

Código: Selecionar todos

// Copyright FiveTech 1993-03

#ifndef _DLL_CH
#define _DLL_CH

#ifndef _C_TYPES
   #define _C_TYPES
   #define VOID     0
   #define BYTE     1
   #define CHAR     2
   #define WORD     3

   #ifdef __CLIPPER__
      #define _INT     4         // conflicts with Clipper Int()
   #else
      #define _INT     7
   #endif

   #define BOOL     5
   #define HDC      6
   #define LONG     7
   #define STRING   8
   #define LPSTR    9
   #define PTR     10
   #define _DOUBLE 11         // conflicts with BORDER DOUBLE
   #define DWORD   12
#endif

#translate NOREF([@]<x>) => <x>

#ifndef __HARBOUR__
  #ifndef __XPP__
     #ifndef __CLIPPER__
        #ifndef __C3__
           #define __CLIPPER__
        #endif
     #endif
  #endif
#endif

#ifndef __CLIPPER__
   #translate DLL32 => DLL
#endif

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

#xcommand DLL [<static:STATIC>] FUNCTION <FuncName>( [ <uParam1> AS <type1> ] ;
                                                     [, <uParamN> AS <typeN> ] ) ;
             AS <return> [<pascal:PASCAL>] [ FROM <SymName> ] LIB <*DllName*> ;
       => ;
          [<static>] function <FuncName>( [NOREF(<uParam1>)] [,NOREF(<uParamN>)] ) ;;
             local hDLL := If( ValType( <DllName> ) == "N", <DllName>, LoadLibrary( <(DllName)> ) ) ;;
             local uResult ;;
             local cFarProc ;;
             if Abs( hDLL ) > 32 ;;
                cFarProc = GetProcAddress( hDLL,;
                If( [ Empty( <SymName> ) == ] .t., <(FuncName)>, <SymName> ),;
                [<.pascal.>], <return> [,<type1>] [,<typeN>] ) ;;
                uResult = CallDLL( cFarProc [,<uParam1>] [,<uParamN>] ) ;;
                If( ValType( <DllName> ) == "N",, FreeLibrary( hDLL ) ) ;;
             else ;;
                MsgAlert( "Error code: " + LTrim( Str( hDLL ) ) + " loading " + ;
                If( ValType( <DllName> ) == "C", <DllName>, Str( <DllName> ) ) ) ;;
             end ;;
          return uResult

//----------------------------------------------------------------------------//
#xcommand DLL32 [<static:STATIC>] FUNCTION <FuncName>( [ <uParam1> AS <type1> ] ;
                                                      [, <uParamN> AS <typeN> ] ) ;
             AS <return> [<pascal:PASCAL>] [ FROM <SymName> ] LIB <*DllName*> ;
       => ;
          [<static>] function <FuncName>( [NOREF(<uParam1>)] [,NOREF(<uParamN>)] ) ;;
             local hDLL := If( ValType( <DllName> ) == "N", <DllName>, LoadLib32( <(DllName)> ) ) ;;
             local uResult ;;
             local cFarProc ;;
             if Abs( hDLL ) <= 32 ;;
                MsgAlert( "Error code: " + LTrim( Str( hDLL ) ) + " loading " + <DllName> ) ;;
             else ;;
                cFarProc = GetProc32( hDLL,;
                If( [ Empty( <SymName> ) == ] .t., <(FuncName)>, <SymName> ),;
                [<.pascal.>], <return> [,<type1>] [,<typeN>] ) ;;
                uResult = CallDLL32( cFarProc [,<uParam1>] [,<uParamN>] ) ;;
                If( ValType( <DllName> ) == "N",, FreeLib32( hDLL ) ) ;;
             end ;;
          return uResult
O comando DLL32... é somente um wrappler para função CallDLL32().
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tooltip com imagem

Mensagem por JoséQuintas »

Se for Harbour:
wapi_SendMessage(), wapi_LoadIcon(), wapi_LoadImage()
E manual no MSDN da Microsoft.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Tooltip com imagem

Mensagem por rochinha »

Amiguinhos,

Como visto anteriormente, Jose Quintas, a função LoadIcon() recebeu como parâmetro IDI_INFORMATION mas os valores possíveis são:

IDI_APPLICATION Default application icon.
IDI_ASTERISK Same as IDI_INFORMATION.
IDI_ERROR Hand-shaped icon.
IDI_EXCLAMATION Same as IDI_WARNING.
IDI_HAND Same as IDI_ERROR.
IDI_INFORMATION Asterisk icon.
IDI_QUESTION Question mark icon.
IDI_WARNING Exclamation point icon.
IDI_WINLOGO Windows logo icon.
IDI_SHIELD Security Shield icon.

LoadIcon() retorna um pointer, talvez seja possível usar LoadIconWithScaleDown() que manipula ícones de tamanho fora do padrão das mensagens ou LoadImage():

Código: Selecionar todos

DLL32 FUNCTION LoadImageA;
      ( hInst AS LONG, ;
        lpsz AS STRING, ;
        un1 AS LONG, ;
        n1 AS LONG, ;
        n2 AS LONG, ;
        un2 AS LONG ) ;
   AS LONG PASCAL; 
   LIB "USER32"
Possíveis números identificadores do ícone padrão na Shell32.dll:
IDI_APPLICATION (32512) Default application icon.
IDI_ASTERISK (32516) Asterisk icon. Same as IDI_INFORMATION.
IDI_ERROR (32513) Hand-shaped icon.
IDI_EXCLAMATION (32515) Exclamation point icon. Same as IDI_WARNING.
IDI_HAND (32513) Hand-shaped icon. Same as IDI_ERROR.
IDI_INFORMATION (32516) Asterisk icon.
IDI_QUESTION (32514) Question mark icon.
IDI_SHIELD (32518) Security Shield icon.
IDI_WARNING (32515) Exclamation point icon.
IDI_WINLOGO (32517) Windows logo icon
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Responder