Clipper On Line • Ver Tópico - Janela Transparente
Página 1 de 1

Janela Transparente

MensagemEnviado: 05 Dez 2017 14:15
por asimoes
Transforma uma janela WVT ou WVG transparente, podem testar.
Passando 0 vira uma janela fantasma, rs
   cTituloJanela := "TESTE COM TRANSPARENCIA"
   nHandle := hwg_FindWindow(,cTituloJanela)
   SetTransparent( nHandle, 210 )


#pragma BEGINDUMP

#if defined ( __MINGW32__ )
   #define _WIN32_WINNT 0x0500
#endif

#include <windows.h>
#include "hbapi.h"

HB_FUNC( SETTRANSPARENT )
{

   typedef BOOL (__stdcall *PFN_SETLAYEREDWINDOWATTRIBUTES) (HWND, COLORREF, BYTE, DWORD);

   PFN_SETLAYEREDWINDOWATTRIBUTES pfnSetLayeredWindowAttributes = NULL;

   HINSTANCE hLib = LoadLibrary("user32.dll");

   if (hLib != NULL)
   {
      pfnSetLayeredWindowAttributes = (PFN_SETLAYEREDWINDOWATTRIBUTES) GetProcAddress(hLib, "SetLayeredWindowAttributes");
   }

   if (pfnSetLayeredWindowAttributes)
   {
      SetWindowLong((HWND) hb_parnl (1), GWL_EXSTYLE, GetWindowLong((HWND) hb_parnl (1), GWL_EXSTYLE) | WS_EX_LAYERED);
      pfnSetLayeredWindowAttributes((HWND) hb_parnl (1), 0, hb_parni (2), LWA_ALPHA);
   }

   if (!hLib)
   {
      FreeLibrary(hLib);
   }

}

#pragma ENDDUMP

Janela Transparente

MensagemEnviado: 05 Dez 2017 14:20
por asimoes
2017-12-05 15_19_13-.png

Janela Transparente

MensagemEnviado: 05 Dez 2017 14:24
por asimoes
Esqueci: HB_GTI_WINTITLE
cTituloJanela := "TESTE COM TRANSPARENCIA"
HB_gtInfo( HB_GTI_WINTITLE, cTituloJanela)
nHandle := hwg_FindWindow(,cTituloJanela)
SetTransparent( nHandle, 210 )

Janela Transparente

MensagemEnviado: 05 Dez 2017 18:42
por asimoes
Com HwGui em uma janela Dialog

ON INIT {|hWnd| SetTransparent( hWnd:handle, 210 ) }

Janela Transparente

MensagemEnviado: 05 Dez 2017 21:46
por JoséQuintas
credo....
continuo daqui a pouco...

Janela Transparente

MensagemEnviado: 05 Dez 2017 21:51
por JoséQuintas
Não achei meu post sobre isso, mas não precisa rotina em C.

Janela Transparente

MensagemEnviado: 05 Dez 2017 21:55
por JoséQuintas

Janela Transparente

MensagemEnviado: 06 Dez 2017 05:32
por asimoes
Qintas,

O seu exemplo é para WVG e esse é para quem usa WVT/HWGUI/MINIGUI provavelmente sirva para WVG é só testar.

Janela Transparente

MensagemEnviado: 06 Dez 2017 08:14
por asimoes
Quintas,

O seu exemplo funcionou com o GT WVT

Janela Transparente

MensagemEnviado: 06 Dez 2017 09:07
por JoséQuintas
Legal.

E desculpe, acho que me empolguei na primeira resposta....

Mas aproveitando...
Se não tiver equivalência no xHarbour, acaba sendo necessário o fonte C pra ele.

Janela Transparente

MensagemEnviado: 13 Jan 2018 12:09
por alaminojunior
Interessantésima essa rotina.