Informática Numaboa - Tutoriais e Programação
Cap.V - Nossa primeira janela
Seg 17 Dez 2007 19:40 |
- Detalhes
- Categoria: MASM + RadASM
- Atualização: Quinta, 18 Junho 2009 11:23
- Autor: Alan Moreno
- Acessos: 9596
- nWidth - especificamos a largura do controle que criamos.
- nHeight - especificamos a altura do controle que criamos.
- hWndParent - identificamos a janela mãe, se existir, quando criamos controles de janelas filhas. Este parâmetro é utilizado, por exemplo, se quisermos criar um botão numa janela mãe (Fig.3). Devemos especificar o manipulador da nossa janela e, como recordamos, nós o guardamos na variável hwnd.
- hMenu - especificamos o manipulador do menu. Este parâmetro só é utilizado com controles (janelas filhas). Por exemplo, se quisermos por um menu no botão da Fig.3, usamos este parâmetro, mas não quando criamos janelas do tipo WNDCLASSEX, porque estas têm um elemento específico que faz isto.
- hInstance - especificamos a instância do módulo associado à janela.
- lpParam - este ponteiro é usado quando criamos janelas MDI. Se não as utilizamos, colocamos o valor NULL.
Como expliquei no vídeo, este loop é executando até que se feche a janela. Nesta parte do código vimos um novo bloqueio, o .break. Este bloqueio é de interrupção e serve para terminar o loop se a condição for cumprida. Suas sintaxe é:
No nosso programa a condição é .if !EAX, que compara se EAX é igual a zero. Ela é equivalente a .if EAX == 0.
Outro ponto importante do loop é que ele sempre está pegando as mensagens do programa. Quando nós fechamos a janela, a função GetMessage devolverá a EAX o valor 0, o que provoca a saída do loop para terminar o programa.
Depois vem o procedimento da janela. É aí que usamos as mensagens para chamar funções:
Tudo o que queremos que nosso programa faça, nós colocamos aqui. Como diz o vídeo, este é o cérebro do programa, o responsável pela colocação de diferentes funções na nossa janela. O parâmetro uMsg é que contém o valor das mensagens; a função DefWindowProc recicla todas as mensagens que não utilizamos.
WM_DESTROY - Esta mensagem é enviada quando a janela é destruída ou quando desaparece do desktop.