Como Criar Uma Janela Do Windows

Índice:

Como Criar Uma Janela Do Windows
Como Criar Uma Janela Do Windows

Vídeo: Como Criar Uma Janela Do Windows

Vídeo: Como Criar Uma Janela Do Windows
Vídeo: CRIANDO PRIMEIRA JANELA PARA WINDOWS C+ 2024, Maio
Anonim

Os princípios de funcionamento da interface do usuário dos sistemas operacionais da família Windows são baseados no conceito de janela. A área de trabalho, barra de tarefas, listas, diálogos, botões, menus são todos janelas. Portanto, na verdade, para exibir qualquer elemento da interface, você precisa criar uma janela do Windows.

Como criar uma janela do Windows
Como criar uma janela do Windows

Necessário

  • - compilador;
  • - SDK da plataforma Windows.

Instruções

Passo 1

Registre a classe da janela a ser criada, se necessário. Faça uma chamada para as funções de API RegisterClass, RegisterClassEx ou use a funcionalidade apropriada da estrutura usada.

As funções RegisterClass e RegisterClassEx aceitam ponteiros para estruturas do tipo WNDCLASS e WNDCLASSEX, respectivamente, como seu único parâmetro. O valor de retorno do tipo ATOM pode ser usado no lugar do nome da classe ao criar uma janela. Se a chamada de função falhar, o valor de retorno será 0.

Instancie uma estrutura do tipo WNDCLASS ou WNDCLASSEX. Preencha todos os campos necessários. Em particular, os valores corretos devem ser colocados em:

- cbSize - tamanho da estrutura em bytes;

- style - um conjunto de estilos para a classe de janela;

- lpfnWndProc - ponteiro para um procedimento de janela;

- hInstance é o identificador do módulo no qual a classe da janela está registrada;

- lpszClassName é o nome simbólico da classe.

O restante dos campos pode ser escrito com valores NULL. Faça uma chamada de função para registrar a classe da janela. Verifique o resultado retornado.

Passo 2

Selecione uma classe de janela existente, se necessário. Você deve saber o nome da classe simbólica (aquele passado pelo ponteiro lpszClassName ao registrá-lo) ou o valor ATOM correspondente. A classe pode ser local no nível do aplicativo, global no nível do aplicativo (registrado com o sinalizador CS_GLOBALCLASS) ou classe de sistema. O último tipo inclui classes de janelas com os nomes: Button, ComboBox, Edit, ListBox, MDIClient, ScrollBar, Static. Classes como RichEdit20W ou SysListView32 são registradas quando as bibliotecas correspondentes são carregadas.

etapa 3

Crie uma janela do Windows. Use as funções de API CreateWindow, CreateWindowEx ou os métodos de wrapper apropriados para objetos de classe da estrutura ou biblioteca que você está usando. O protótipo da função CreateWindowEx é parecido com este:

HWND CreateWindowEx (DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam);

A função CreateWindow difere de CreateWindowEx somente na ausência do parâmetro dwExStyle.

Chame CreateWindow ou CreateWindowEx. Passe no parâmetro lpClassName o nome ou valor ATOM da classe de janela que você definiu na primeira ou segunda etapa. Os parâmetros x, y, nWidth, nHeight podem ser as coordenadas e tamanhos da janela que está sendo criada. O identificador da janela pai (se houver) é passado por hWndParent.

Salve e analise o valor retornado por CreateWindow ou CreateWindowEx. Em caso de sucesso, eles retornarão um identificador para a nova janela; em caso de falha, NULL.

Recomendado: