WinAPI - pierwsze starcie

  • powtórka obowiązkowa C/C++, C#
  • wskaźniki, struktury, typedef, makra, wskaźniki do funkcji, łańcuchy znakowe, alokacja pamięci, itd…
  • Utwórz projekt Win32 wykorzystując szablon projektu dostępny w Visual Studio i zapoznaj się z zawartością tego szablonu (funkcja WinMain, typy zmiennych i konwencja nazewnicza WInAPI, rejetracja okna, tworzenie okna głównego, pętla komunikatów, zasoby, itp.).
  • Dodaj MessageBox z wyświetlający komunikat „Hello World” z ikonką informacyjną i przyciskiem OK.
  • Przed zamknięciem aplikacji (okna głownego) wyświetl MessageBox z zapytaniem czy na pewno zamknąć?
  • Dodaj do okna przynajmniej jedną kontrolkę, np. przycisk (BUTTON), kontrolkę edycyjną (EDIT), pole statyczne (STATIC)

Przydatne referencje:

  • Utwórz pusty projekt Win32 i dodaj plik źródłowy z funkcją główną WinMain
int WINAPI WinMain( HINSTANCE hInstance, 
                    HINSTANCE hPrevInstance, 
                    LPSTR lpCmdLine, 
                    int nCmdShow)
  • Dodaj MessageBox z wyświetlający komunikat „Hello World” z ikonką informacyjną i przyciskiem OK.
  • Utwórz i zarejestruj klasę okien WNDCLASSEX
  • Domyślna procedura okna
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    return DefWindowProc(hwnd, msg, wParam, lParam);
}
while(GetMessage(&Msg, NULL, 0, 0) > 0)
    {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
    }
  • Obsłuż komunikaty WM_CLOSE i WM_DESTROY
  • Przed zamknięciem wyświetl MessageBox z zapytaniem czy na pewno zamknąć?