Ir para conteúdo
Fórum Script Brasil
  • 0

Janela transparente em C.


G. Grechuk

Pergunta

Ultimamente, tenho me dedicado a programação com API gráfica e, tentei criar uma janela por conta própria.... porém, ela é transparente.

não consigo encontrar o erro... Segue o código dela:

// ------------------------------------------------------------------
// main.cpp
//-------------------------------------------------------------------
//Bibliotecas:
#include <Windows.h>

// Definições:
#define NAMEWND L"Minha primeira janela"	// Nome da Janela.
#define NAMECLS L"Electronic Matter"	// Nome da classe.
#define PX	1	// Posição da janela na horizontal.
#define PY 1   // Posição da janela na vertical.
#define LARG 750	// Largura da janela.
#define ALTU 500		// Altura da janela

// Variaveis das estrutuas:
WNDCLASSEX wcl;		// Classe da janela.
HWND hWnd = NULL;			// Estrutura da janela.
MSG msg;			// Estrutura das mensaens.

// Protótipo da Função WindowProc:
LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM);

// WinMain() -> Função Principal Win32.
int WINAPI WinMain(HINSTANCE hInstace, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) 
{

// Iniciação da classe.
//-------------------------------------------------------------------
	wcl.cbSize = sizeof(WNDCLASSEX);
	wcl.style = 0;
	wcl.lpfnWndProc = (WNDPROC)WindowProc;
	wcl.cbClsExtra = 0;
	wcl.cbWndExtra = 0;
	wcl.hInstance = hInstace;
	wcl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
	wcl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
	wcl.hCursor = LoadCursor(NULL, IDC_ARROW);
	wcl.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
	wcl.lpszMenuName = NULL;
	wcl.lpszClassName = NAMECLS;
//--------------------------------------------------------------------

// Registrando a Classe e criando a janela.
//--------------------------------------------------------------------
	RegisterClassEx(&wcl);				// Registra a classe.
	hWnd = CreateWindowEx(				// Cria a janela.
		WS_VSCROLL,
		NAMECLS,
		NAMEWND,
		WS_OVERLAPPEDWINDOW,
		PX,
		PY,
		LARG,
		ALTU,
		HWND_DESKTOP,
		NULL,
		hInstace,
		NULL);
//--------------------------------------------------------------------

// Mostra a janela / atualiza a janela.
//--------------------------------------------------------------------
	ShowWindow(hWnd, nCmdShow);
	UpdateWindow(hWnd);
//--------------------------------------------------------------------

// Loop de mensagem.
//--------------------------------------------------------------------
	while (GetMessage(&msg, hWnd, 0, 0) > 0)
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}

	return msg.wParam;
}	// Fim do WinApi().


//--------------------------------------------------------------------
//WinowProc() -> Processador de mensagens.
//--------------------------------------------------------------------

LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lparam)
{
	HDC hDC = NULL;
	PAINTSTRUCT msPaint;

	switch (uMsg)
	{
		case WM_CREATE:
		{
			return 0;
		} break;

		case WM_PAINT:
		{
			hDC = BeginPaint(hWnd, &msPaint);
			EndPaint(hWnd, &msPaint);

			return 0;
		} break;

		case WM_CLOSE:
		{
			DestroyWindow(hWnd);

			return 0;
		} break;

		case WM_DESTROY:
		{
			PostQuitMessage(WM_QUIT);

			return 0;
		} break;

		default:
		{
			return (DefWindowProc(hWnd, uMsg, wParam, lparam));
		} break;

	}
}

 PS: eu uso o Visual Studio C++ 2015 e tenho o Windows 10, caso isso interfira.

 

 

 

 

Captura de tela 2016-03-13 19.14.05.png

Captura de tela 2016-03-13 19.13.24.png

Captura de tela 2016-03-13 19.13.36.png

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...