Página 1 de 1

Janela Transparente

Enviado: 05 Dez 2017 15:15
por asimoes
Transforma uma janela WVT ou WVG transparente, podem testar.
Passando 0 vira uma janela fantasma, rs

Código: Selecionar todos

   cTituloJanela := "TESTE COM TRANSPARENCIA"
   nHandle := hwg_FindWindow(,cTituloJanela)
   SetTransparent( nHandle, 210 )

Código: Selecionar todos

#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

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

Janela Transparente

Enviado: 05 Dez 2017 15:24
por asimoes
Esqueci: HB_GTI_WINTITLE

Código: Selecionar todos

cTituloJanela := "TESTE COM TRANSPARENCIA"
HB_gtInfo( HB_GTI_WINTITLE, cTituloJanela)
nHandle := hwg_FindWindow(,cTituloJanela)
SetTransparent( nHandle, 210 )

Janela Transparente

Enviado: 05 Dez 2017 19:42
por asimoes
Com HwGui em uma janela Dialog

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

Janela Transparente

Enviado: 05 Dez 2017 22:46
por JoséQuintas
credo....
continuo daqui a pouco...

Janela Transparente

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

Janela Transparente

Enviado: 05 Dez 2017 22:55
por JoséQuintas

Janela Transparente

Enviado: 06 Dez 2017 06: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

Enviado: 06 Dez 2017 09:14
por asimoes
Quintas,

O seu exemplo funcionou com o GT WVT

Janela Transparente

Enviado: 06 Dez 2017 10: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

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