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.

*(info->Wnds++) = wnd;<br />

::EnableWindow(wnd, FALSE);<br />

}<br />

}<br />

return TRUE;<br />

}<br />

KLASA TWindow.<br />

Klasa TWindow (Okno) zawiera implementację wielu przydatnych<br />

przy tworzeniu aplikacji "cegiełek". Poniżej przedstawiono<br />

fragment pliku źródłowego (patrz \SOURCE\OWL\WINDOW.CPP). Łatwo<br />

można rozpoznać pewne znane już elementy.<br />

...<br />

extern LRESULT FAR PASCAL _export InitWndProc(HWND, UINT,<br />

WPARAM, LPARAM);<br />

...<br />

struct TCurrentEvent //Struktura BieżąceZdarzenie<br />

{<br />

TWindow* win; //Wskażnik do okna<br />

UINT message; //Komunikat<br />

WPARAM wParam;<br />

LPARAM lParam;<br />

};<br />

...<br />

DEFINE_RESPONSE_TABLE(TWindow)<br />

//Makro: Zdefiniuj tablicę odpowiedzi na zdarzenia<br />

//EV_WM_SIZE - Zdarzenie (EVent)-nadszedł komunikat WM_SIZE<br />

...<br />

EV_WM_SETCURSOR,<br />

EV_WM_SIZE,<br />

EV_WM_MOVE,<br />

EV_WM_PAINT,<br />

EV_WM_LBUTTONDOWN,<br />

EV_WM_KILLFOCUS,<br />

EV_WM_CREATE,<br />

EV_WM_CLOSE,<br />

EV_WM_DESTROY,<br />

EV_COMMAND(CM_EXIT, CmExit),<br />

...<br />

END_RESPONSE_TABLE;<br />

Funkcje - metody obsługujące komunikaty zaimplementowane zostały<br />

wewnątrz klasy TWindow tak:<br />

TWindow::EvCreate(CREATESTRUCT far&)<br />

{<br />

SetupWindow();<br />

return (int)DefaultProcessing();<br />

}<br />

void TWindow::EvSize(UINT sizeType, TSize&)<br />

{<br />

- 426-

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

Saved successfully!

Ooh no, something went wrong!