Bli kjent med Windows - Del 9 Volum - Windows brukergrensesnitt Innledning Dette er en del 9 av min serie, Bli kjent med Windows. Jeg antar at du har lest alle de tidligere tutorials før dette. Du bør lese tutorials i angitt rekkefølge. I denne delen av serien, oppretter du din første vinduet. Merk: Hvis du ikke kan se koden, eller hvis du tror noe mangler (ødelagt kobling, bilde fraværende), bare kontakte meg på [email protected]. Det er, kontakt meg for den minste problemet du har om hva du leser.
Entry Point Det følgende er et C ++ program for konsollen: # include bruker namespace std; int main () {cout return 0; } Begynnelsen av den viktigste funksjonen er utgangspunktet for programmet; det er der programmet starter. Å kompilere dette programmet med g ++ kompilatoren du ville skrive noe sånt som: g ++ hello.cpp -o hello.exe et Windows-program bruker en annen inngangspunkt funksjon og ikke hoved. En Windows-program bruker funksjonen entry kalt, winmain.
Prototypen er: int WinAPI winmain (hInstance hInstance, hInstance hPrevInstance, LPSTR lpCmdLine, int nCmdShow); Operativsystemet leverer normalt alle argumentene for dette winmain funksjonen. hInstance er vinduet klassen forekomst håndtaket vi snakket om i de tidligere deler av serien. Operativsystemet leverer den faktiske verdien for deg. Den siste setningen i winmain er ikke "return 0". Det er, returnere msg.wParam; hvor msg er identifikatoren av meldingen struct. Ikke bekymre deg for dette retur statement for nå. Anta at navnet på din Windows-program i C ++ er, firstwin.cpp.
For g ++ kompilator, skriver du inn følgende kommando for å kompilere Windows-program: g ++ firstwin.cpp -mwindows -o firstwin.exe merke til bruken og plasseringen av bryteren, -mwindows. Denne bryteren hindrer ledeteksten vinduet vises når programmet vises. Din første Window Søknad jeg vil gi deg koden for første vinduet søknaden. Du vil prøve det. Jeg vil forklare koden i generelle termer under den. Du vil vite detaljene forklaring i andre serien (divisjoner).
Her er koden: # include bruker namespace std; LRESULT RING TILBAKE MainWndProc (HWND hwnd, UINT uMsg, wParam wParam, lParam lParam) {switch (uMsg) {standard: returnere DefWindowProc (hwnd, uMsg, wParam, lParam); } Return 0; } Int WinAPI winmain (hInstance hInstance, hInstance hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {WNDCLASSEX wcx; wcx.cbSize = sizeof (wcx); wcx.style = CS_HREDRAW | CS_VREDRAW; wcx.lpfnWndProc = MainWndProc; wcx.cbClsExtra = 0; wcx.cbWndEx