1 / 24

Podstawy WINAPI - MessageBOX

Temat:. Podstawy WINAPI - MessageBOX. Funkcja WinMain. # include < windows.h > int WINAPI WinMain ( HINSTANCE hInstance , HINSTANCE hPrevInstance , LPSTR lpCmdLine , int nCmdShow ) { return 0; }. Funkcja MessageBox. MessageBox (  hWnd ,  lpText ,  lpCaption ,  uType  ).

tamma
Download Presentation

Podstawy WINAPI - MessageBOX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Temat: Podstawy WINAPI - MessageBOX

  2. Funkcja WinMain #include <windows.h> intWINAPIWinMain( HINSTANCEhInstance, HINSTANCEhPrevInstance, LPSTRlpCmdLine, intnCmdShow) { return 0; }

  3. Funkcja MessageBox MessageBox( hWnd, lpText, lpCaption, uType )

  4. Funkcja MessageBox #include <windows.h> intWINAPIWinMain( HINSTANCEhInstance, HINSTANCEhPrevInstance, LPSTRlpCmdLine, intnCmdShow) { 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: Podstawy WINAPI- Okno

  8. Klasa okna WNDCLASSEXwc; (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

  10. Klasa okna

  11. Rejestracja okna if(!RegisterClassEx(&wc)) { MessageBox( NULL, "WindowRegistrationFailed! ", "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

  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 LRESULTCALLBACKWndProc( HWNDhwnd,…. ) { switch( msg ) { caseWM_CLOSE: DestroyWindow( hwnd ); break; caseWM_DESTROY: PostQuitMessage( 0 ); break; default: return DefWindowProc( hwnd, msg, wParam, lParam ); } return 0; }

  17. Temat: Podstawy WINAPI- przyciski i pola tekstowe

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

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

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

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

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

  23. EDIT - przykład HWNDhText = 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

More Related