Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Temat:. Funkcja WinMain #include int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { return 0; }

Podobne prezentacje


Prezentacja na temat: "Temat:. Funkcja WinMain #include int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { return 0; }"— Zapis prezentacji:

1 Temat:

2 Funkcja WinMain #include int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { return 0; }

3 Funkcja MessageBox ArgumentZnaczenie hWnduchwyt okna, które jest właścicielem komunikatu. Jeśli okna akurat nie mamy, dajemy tu NULL, co oznacza bezpański komunikat lpTextpo prostu tekst komunikatu, który wyświetlamy lpCaptiontytuł okienka komunikatu. Jeśli damy NULL, zostanie wybrany tytuł domyślny Error uTypekombinacja stylów okienka komunikatu MessageBox( hWnd, lpText, lpCaption, uType )

4 Funkcja MessageBox #include int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MessageBox( NULL, "Witaj świecie", "Moja pierwsza aplikacja", MB_ICONWARNING); return 0; }

5 uType – typy okienek MB_ABORTRETRYIGNORE MB_OK MB_OKCANCEL MB_RETRYCANCEL MB_YESNO MB_YESNOCANCEL MB_ICONWARNING MB_ICONINFORMATION MB_ICONQUESTION MB_ICONSTOP lub MB_ICONERROR lub MB_ICONHAND

6 Funkcja MessageBox Funkcja MessageBox zwraca wartości: O – jeśli nie zadziała (np. brak pamięci) IDABORT – przerwij IDCANCEL – anuluj IDRETRY – ponów IDIGNORE – ignoruj IDNO – nie IDYES – tak IDOK – ok

7 Temat:

8 Klasa okna WNDCLASSEX wc; (wc - to nasza nazwa) memset(&wc,0,sizeof(wc)); wc.cbSize= sizeof(WNDCLASSEX); wc.lpfnWndProc= WndProc; wc.hInstance= hInstance; wc.hCursor= LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wc.lpszClassName = "WindowClass"; wc.hIcon= LoadIcon(NULL, IDI_APPLICATION); wc.hIconSm =LoadIcon(NULL, IDI_APPLICATION);

9 Klasa okna PoleZnaczenie cbSizeRozmiar struktury w bajtach. Należy tu wpisać sizeof (WINDOWCLASSEX). styleStyle klasy. lpfnWndProc!!! Wskaźnik do procedury obsługującej okno (o tym później, na razie wpisujemy WndProc) cbClsExtra, cbWndExtra Dodatkowe bajty pamięci dla klasy. hInstanceIdentyfikator aplikacji, która ma być właścicielem okna (zazwyczaj pierwszy parametr naszej funkcji WinMain) hIconIkonka okna - duża ikonka, widać ją kiedy naciśniesz Alt-Tab.

10 Klasa okna PoleZnaczenie dalej… hCursorKursor myszki. hbrBackgroundTło naszego okienka, czyli jego kolor i wzór. Wybieramy domyślne zdefiniowane. lpszMenuNameNazwa identyfikująca menu naszego okna w pliku zasobów. lpszClassNameNazwa klasy, którą tworzymy. hIconSmMała ikonka naszej aplikacji.

11 Rejestracja okna if(!RegisterClassEx(&wc)) { MessageBox( NULL, "Window Registration Failed! ", "Error!", MB_ICONEXCLAMATION|MB_OK); return 0; }

12 Budowa okna hwnd = CreateWindowEx( WS_EX_CLIENTEDGE, "WindowClass", "Caption", WS_VISIBLE|WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, x CW_USEDEFAULT, y 640, width 480, height NULL,NULL,hInstance,NULL);

13 Budowa okna ArgumentZnaczenie dwExStyleParametry okna. WS_EX_WINDOWEDGE, czyli ramki 3D. lpClassNameNazwa klasy okna, którą właśnie zarejestrowaliśmy lpWindowNameNapis na pasku tytułowym okienka. dwStyleStyle okienka. x, yPozycja okna. CW_USEDEFAULT - domyślną pozycja. nWidth, nHeightWymiary okienka. hWndParentUchwyt okna nadrzędnego. hMenuUchwyt menu dla naszego okna. NULL – brak menu. hInstanceUchwyt aplikacji, której przypisujemy okienko. Parametr hInstance, od systemu jako argument dla WinMain. lpParamWskaźnik do dodatkowych parametrów. NULL – brak.

14 Pokazanie i odnowienie okna ShowWindow( hwnd, nCmdShow ); UpdateWindow( hwnd );

15 Pętla komunikatów while(GetMessage(&Msg,NULL,0,0)>0) TranslateMessage(&Msg); DispatchMessage(&Msg); } //pętla przesyła komunikaty do WinProc

16 Obsługa zdarzeń WinProc LRESULT CALLBACK WndProc( HWND hwnd,…. ) { switch( msg ) { case WM_CLOSE: DestroyWindow( hwnd ); break; case WM_DESTROY: PostQuitMessage( 0 ); break; default: return DefWindowProc( hwnd, msg, wParam, lParam ); } return 0; }

17 Temat:

18 Klasy kontrolek BUTTON – przycisk EDIT – pole tekstowe LISTBOX - lista COMBOBOX – lista rozwijana STATIC – tekst lub ikona statyczna

19 BUTTON - przykład HWND hPrzycisk; //deklaracja hPrzycisk = CreateWindowEx( 0, "BUTTON", Pierwszy przycisk", WS_CHILD | WS_VISIBLE, 10, 10, 150, 30, hwnd, NULL, hInstance, NULL );

20 CHECKBOX - przykład HWND hPrzycisk; hPrzycisk = CreateWindowEx( 0, "BUTTON", "Checkbox", WS_CHILD | WS_VISIBLE | BS_CHECKBOX, 50, 10, 150, 30, hwnd, NULL, hInstance, NULL );

21 BS_RADIOBUTTON - przykład HWND hPrzycisk; hPrzycisk = CreateWindowEx( 0, "BUTTON", "Checkbox", WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON, 90, 10, 150, 30, hwnd, NULL, hInstance, NULL );

22 EDIT - przykład HWND hText = CreateWindowEx( 0, "EDIT", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER, 10, 10, 200, 100, hwnd, NULL, hInstance, NULL );

23 EDIT - przykład HWND hText = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL, 10, 10, 200, 100, hwnd, NULL, hInstance, NULL );

24 CDN


Pobierz ppt "Temat:. Funkcja WinMain #include int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { return 0; }"

Podobne prezentacje


Reklamy Google