16.05.2015 Views

Programowanie w C++ Borland Builder - Wyższa Szkoła Informatyki ...

Programowanie w C++ Borland Builder - Wyższa Szkoła Informatyki ...

Programowanie w C++ Borland Builder - Wyższa Szkoła Informatyki ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

{<br />

case WM_CREATE:<br />

Gdy okno jest tworzone Windows przesyłają jeden raz komunikat<br />

WM_CREATE do okna. Procedura obsługi nowego okna (new window<br />

procedure) otrzymuje ten komunikat po utworzeniu okna, ale<br />

jeszcze zanim okno pojawi sie na ekranie.<br />

lParam - Wskaźnik do struktury CREATESTRUCT o postaci:<br />

typedef struct {<br />

LPSTR lpCreateParams;<br />

HANDLE hInst;<br />

HANDLE hMenu;<br />

HWND hwndParent;<br />

int cy;<br />

int cx;<br />

int y;<br />

int x;<br />

LONG style;<br />

LPSTR lpszName;<br />

LPSTR lpszClass;<br />

DWORD dwExStyle;<br />

} CREATESTRUCT; */<br />

Kod obsługi powiekszania/zmniejszania case WM_SIZE.<br />

wParam zawiera kod operacji - zmniejsz/powiększ<br />

lParam zawiera nową wysokość i szerokość okna<br />

case WM_PAINT:<br />

Pobranie kontekstowego identyfikatora urządzenia. Funkcja<br />

BeginPaint() spowoduje w razie potrzeby wysłanie komunikatu<br />

WM_ERASEBKGND (Erase Background - skasuj tło).<br />

memset(&ps, 0x00, sizeof(PAINTSTRUCT));<br />

hDC = BeginPaint(hWnd, &ps);<br />

Set Background Mode - ustaw rodzaj tła (tu: przezroczyste):<br />

SetBkMode(hDC, TRANSPARENT);<br />

Aplikacja powinna wykreślić obszar roboczy okna posługując sie<br />

grafiką GDI i (Graficzny Interfejs Urządzenia - analogia do<br />

graficznego standardu BGI w środowisku DOS). Struktura ps typu<br />

PAINSTRUCT zwrócona przez BeginPaint() wskazuje prostokąt do<br />

zamalowania.<br />

Wypisanie tekstu w głównym oknie aplikacji:<br />

TextOut(hDC, 0, 0, (LPSTR) "Hello, world.", strlen("Hello,<br />

world."));<br />

- 389-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!