Ir ao conteúdo
  • Cadastre-se

Gabe Grechuk

Membro Pleno
  • Posts

    89
  • Cadastrado em

  • Última visita

Tudo que Gabe Grechuk postou

  1. @Gustavo Andretto Era isso mesmo que eu tava procurando.. hehe Muito obrigado!!
  2. Olá, boa Tarde!!! Estou estudando a win32 API, mas, ao criar algumas janelas e programinhas simples, eu percebi que os mesmos, tem uma aparência um pouco "antiga" (Aqueles botões com profundidade, textos meio "pixelizados", entre outros), gostaria de saber como criar programas mais "modernos" e atraentes visualmente... Ouvi rumores que da pra fazer isso utilizando os arquivos de recursos (ou scrips de recurso), mas não consigo encontrar nada que seja muito útil (Aquela velha coisa de criar menus, caixas de diálogo, mudar os ícones etc... enfim... aquelas coisas já manjadas). Gostaria que alguém me indicasse alguma coisa (um livro, apostila, blog, vídeo etc) para que eu possa apender mais sobre. dês de já, eu agradeço! Ps: pode ser em inglês que eu leio tranquilamente
  3. hehe.... Realmente funcionou! Muito obrigado pessoal... e... só precisava daquele 0 ali na CreateWindowEx() que parava de da erro mesmo :v Vou me atentar mais a essas coisas. Ps: Desculpe a demora para responder. Eu estava muito enrolado com meu emprego nesses ultimos dias :v
  4. Olá!! Venho estudando a api Win32 a algum tempo, porém, quando eu finamente consigo criar uma mísera janelinha... O compilador deixa passar, porém, retorna a mensagem de error de criação da janela na função CreateWindowEx(). Código: main.cpp //////////////////////////////////////////////////////////////////////////////// // // // Arquivo: main.cpp // // Data: 27-12-2016 19:18 // // // //////////////////////////////////////////////////////////////////////////////// /** * Arquivos para incusão. */ #include "main.h" /** * Namespaces utilizados. */ using namespace std; /** * Função principal da Win32. */ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // Variáveis da função. WNDCLASSEX wnd; // Classe da janela. HWND hWnd; // Controlador da janela. MSG msg; // Estrtura de mensagens. // Iniciando a classe da janela. wnd.lpszClassName = WND_CLASS_NAME; wnd.lpszMenuName = WND_WINDOW_NAME; wnd.style = WS_OVERLAPPEDWINDOW; wnd.cbSize = sizeof(WNDCLASSEX); wnd.cbClsExtra = 0; wnd.cbWndExtra = 0; wnd.hInstance = hInstance; wnd.lpfnWndProc = WndProc; wnd.hIcon = LoadIcon(NULL, IDI_APPLICATION); wnd.hIconSm = LoadIcon(NULL, IDI_APPLICATION); wnd.hCursor = LoadCursor(NULL, IDC_ARROW); wnd.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); // Registrando a Classe. if(RegisterClassEx(&wnd)) { MessageBox(NULL, "Error ao Registrar Classe da janela Principal", "Fatal Error", MB_ICONERROR | MB_OK); return 1; } // Criando a Janela. hWnd = CreateWindowEx(WS_EX_OVERLAPPEDWINDOW, WND_CLASS_NAME, WND_WINDOW_NAME, WS_OVERLAPPEDWINDOW, (GetSystemMetrics(SM_CXSCREEN) - WND_LARG) / 2, (GetSystemMetrics(SM_CYSCREEN) - WND_ALTU) / 2, WND_LARG, WND_ALTU, NULL, NULL, hInstance, NULL); // Verificando a criação da janela. if(!hWnd) { MessageBox(NULL, "Error ao criar a janela.", "Fatal Error", MB_ICONERROR | MB_OK); return 1; } // Mostrando a janela. ShowWindow(hWnd, nCmdShow); // Atualizando a janela. UpdateWindow(hWnd); // Loop de Processamento de janela. while(GetMessage(&msg, NULL, 0, 0) > 0) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } //============================================================================// /** * Função WndProc(); Para processamento de mensagens; */ LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { // Variáveis Locais. PAINTSTRUCT ps; HDC hDc; // Loop de processamento de mensagens. switch(uMsg) { /** * Caso a Janela seja criada. */ case WM_CREATE: MessageBox(NULL, "Olá Mundo!!!", "", MB_ICONINFORMATION | MB_OK); return 0; break; /** * Caso a janela precise ser re-desenhada. */ case WM_PAINT: BeginPaint(hWnd, &ps); EndPaint(hWnd, &ps); return 0; break; /** * Caso cliquem em fechar. */ case WM_CLOSE: DestroyWindow(hWnd); return 0; break; /** * Acabando de vez com todo o pograma. */ case WM_DESTROY: PostQuitMessage(WM_QUIT); return 0; break; default: return (DefWindowProc(hWnd, uMsg, wParam, lParam)); break; } } main.h: //////////////////////////////////////////////////////////////////////////////// // // // Arquivo: main.h // // Data: 27-12-2016 19:18 // // // //////////////////////////////////////////////////////////////////////////////// /** * Arquivos para Inclusão. */ #include <windows.h> #include <string> /** * Protótipos de funções. */ // Função para processamento de mensagens enviadas pelo windows. LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); /** * Definições. */ #define WND_CLASS_NAME "Janelinha" // Nome da Classe. #define WND_WINDOW_NAME "Janelinha" // Nome da janela. #define WND_LARG 640 // Largura da janela. #define WND_ALTU 420 // Altua da janela. Por favor, quem manjar da Win32, me ajude! desde já, agradeço!
  5. Tente retirar esta biblioteca antes de compilar: transformando a em um comentário, por exemplo, ou apagando esta linha. Acredito que o erro esteja em algum lugar dentro dela (ou no arquivo *.cpp que ela utiliza).
  6. Seria melhor se postasse o código que esta tentando compilar
  7. @Eduardo1415 te aconselho a instalar as versões mais atuais dos drivers do seu pc, para evitar futuros problemas (Procure os compatíveis com o Windows 10)
  8. se você conseguir acessar o "Ctrl + Alt + Delete", tenta a opção de trocar o usuário, talvez você consiga sair dessa tela

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!