Lär känna Windows - Del 9 Volym - Windows User Interface Introduktion Detta är en del 9 av min serie, Lära känna Windows. Jag antar att du har läst alla tidigare tutorials före detta. Du bör vara att läsa tutorials i angiven ordning. I denna del av serien skapar du din första fönstret. Obs: Om du inte kan se koden, eller om du tror att något saknas (bruten länk, bild frånvarande), bara att kontakta mig på [email protected]. Det vill säga, kontakta mig för minsta problem du har om vad du läser.
Entry Point Följande är ett C ++ program för konsolen: #include using namespace std; int main () {cout avkastning 0; } I början av huvudsakliga funktion är inkörsporten för ansökan, det är där programmet startar. För att sammanställa denna ansökan med g ++ kompilator du skulle skriva något i stil med: g ++ hello.cpp -o hello.exe En Windows-program använder en annan ingångspunkt funktion och inte på. En Windows-program använder posten funktion som kallas, WinMain.
Prototypen är: int WinAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow); Operativsystemet levererar normalt alla argument för denna WinMain funktion. hInstance är fönsterklassen instans handtag vi talade om i de tidigare delarna i serien. Operativsystemet levererar verkligt värde för dig. Den sista uttalandet i WinMain inte är "return 0". Det är, åter msg.wParam; där msg är identifierare av meddelandet struct. Oroa dig inte för den här programsatsen return nu. Antag att namnet på din Windows-program i C ++ är firstwin.cpp.
För g ++ kompilator, skriver du följande kommando för att sammanställa Windows-program: g ++ firstwin.cpp -mwindows -o firstwin.exe Observera användningen och omkopplarläge, -mwindows. Denna omkopplare förhindrar kommandotolken visas när programmet öppnas. Din första Window Application jag kommer att ge dig koden för din första fönster ansökan. Du kommer att prova det. Jag kommer att förklara koden i allmänna ordalag under den. Du kommer att veta detaljerna förklaring i andra serien (divisioner).
Här är koden: #include using namespace std; LResult ÅTER MainWndProc (HWND hwnd, UINT uMsg, WPARAM wParam, lParam lParam) {switch (uMsg) {default: tillbaka DefWindowProc (hwnd, uMsg, wParam, lParam); } Återvända 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.cb