G. Grechuk Postado Março 13, 2016 Denunciar Share Postado Março 13, 2016 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
G. Grechuk
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:
PS: eu uso o Visual Studio C++ 2015 e tenho o Windows 10, caso isso interfira.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.