Página 1 de 1
Tooltip com imagem
Enviado: 13 Dez 2018 11:41
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.
Tooltip com imagem
Enviado: 13 Dez 2018 14:04
por rochinha
Amiguinhos,
kapiaba
Tem fotu?
Tooltip com imagem
Enviado: 13 Dez 2018 16:36
por Kapiaba
Claro que sim meu Rey()
Abs.
Tooltip com imagem
Enviado: 13 Dez 2018 18:08
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.
Tooltip com imagem
Enviado: 13 Dez 2018 19:51
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
Tooltip com imagem
Enviado: 13 Dez 2018 19:53
por JoséQuintas
Faltou destacar esta parte do texto.
enviar mensagens do Windows a GTWVG faz.... rs
Tooltip com imagem
Enviado: 13 Dez 2018 19:57
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
Tooltip com imagem
Enviado: 14 Dez 2018 17:01
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().
Tooltip com imagem
Enviado: 14 Dez 2018 17:34
por JoséQuintas
Se for Harbour:
wapi_SendMessage(), wapi_LoadIcon(), wapi_LoadImage()
E manual no MSDN da Microsoft.
Tooltip com imagem
Enviado: 14 Dez 2018 17:50
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