Ir para conteúdo
Fórum Script Brasil

G. Grechuk

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Posts postados por G. Grechuk

  1. 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

  2. Olá a todos.

    Estou começando a estudar c/c++ e, gostaria de algumas dicas para estudar melhor e, de forma eficiente.

    Pessoalmente dizendo, eu prefiro estudar o código fonte de um programa e, posso passar horas inteiras lendo(analisando) alguns arquivos de cabeçalho (*file.h).

    Esta é uma maneira eficiente de estudar? Posso ampliar meus conhecimentos através desta prática? E se não, qual é a melhor melhor forma de estudar?

    Lembrando que eu não quero aprender sobre bibliotecas como OpenGL, ou outras destinadas a programas grandes... Apenas o básico de c/c++.

    Dez de já, agradeço a colaboração de todos!

     

×
×
  • Criar Novo...