A primeira janela que um aplicativo cria normalmente é a janela principal. Você cria a janela principal usando o CreateWindowEx função, especificando a classe de janela, nome da janela, janela estilos, tamanho, posição, identificador de menu, identificador de instância e dados de criação. Uma janela principal pertence a uma classe janela application-defined, assim que você deve registrar a classe janela e prever um procedimento de janela para a classe antes de criar a janela principal.
A maioria dos aplicativos usar normalmente o estilo WS_OVERLAPPEDWINDOW para criar a janela principal. Este estilo dá a janela uma barra de título, um menu da janela, uma borda de dimensionamento e minimizar e maximizar botões. O CreateWindowEx função retorna um identificador que identifica a janela.
O exemplo a seguir cria uma janela principal que pertencem a uma classe janela application-defined. O nome da janela, Main Window , aparecerá na barra de título da janela. Combinando os estilos WS_VSCROLL e WS_HSCROLL com o estilo WS_OVERLAPPEDWINDOW, o aplicativo cria uma janela principal com barras de rolagem horizontais e verticais para complementar os componentes fornecidos pelo estilo WS_OVERLAPPEDWINDOW. As quatro ocorrências da constante CW_USEDEFAULT defina o tamanho inicial e posição da janela para os valores padrão definidas pelo sistema. Especificando NULL em vez de um identificador de menu, a janela terá o menu definido para a classe de janela.
HINSTANCE hinst;
HWND hwndMain;
/ / Cria a janela principal.
hwndMain = CreateWindowEx (0, / / não estendido estilos "MainWClass", / / nome da classe de "Janela principal", / / janela nome WS_OVERLAPPEDWINDOW | / / sobreposto janela WS_HSCROLL | / / horizontal scroll barra WS_VSCROLL, / / vertical scroll barra CW_USEDEFAULT, / / padrão horizontal posição CW_USEDEFAULT, / / padrão vertical posição CW_USEDEFAULT, / / padrão largura CW_USEDEFAULT, / / padrão altura (HWND) NULL, / / sem janela pai ou proprietário (HMENU) NULL, / / menu classe usado hinstance, / / instância manipular NULL); / / não há dados de criação de janela se (! hwndMain) retornar FALSE;
/ / Mostrar a janela usando o Sinalizar especificado pelo programa / / que iniciou o aplicativo e envie o pedido / / uma mensagem WM_PAINT.
ShowWindow (hwndMain, SW_SHOWDEFAULT);
UpdateWindow(hwndMain)
Observe que o exemplo anterior chama a função ShowWindow depois de criar a janela principal. Isso é feito porque o sistema não automaticamente exibir a janela principal após criá-la. Passando o sinalizador SW_SHOWDEFAULT para ShowWindow, o aplicativo permite que o programa que iniciou o aplicativo para definir a inicial Mostrar estado da janela principal. O UpdateWindow função envia a janela sua primeira mensagem WM_PAINT.