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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Pierwszy parametr hWnd jest to tzw. identyfikator okna (ang.<br />

window handle). Ten parametr zawiera informację, dla którego<br />

okna przeznaczony jest komunikat. Zastosowanie takiego<br />

identyfikatora jest celowe, ponieważ funkcje typu WindowProc()<br />

mogą obsługiwać przesyłanie komunikatów do wielu okien. Jeśli<br />

okien jest wiele, okno jest identyfikowane przy pomocy tego<br />

właśnie identyfikatora (numeru).<br />

Następny parametr to sam komunikat o długości jednego słowa<br />

(word). Ten parametr przechowuje wartość z zakresu<br />

zdefiniowanego w pliku nagłówkowym WINDOWS.H. W zależności od<br />

tego co się zdarzyło, Windows mogą nam przekazać ok. 150 różnych<br />

komunikatów a w tym np.:<br />

WM_CREATE Utworzono okno<br />

WM_KEYDOWN Naciśnięto klawisz<br />

WM_SIZE Zostały zmienione wymiary okna<br />

WM_MOVE Okno zostało przesunięte<br />

WM_PAINT Okno należy narysować (powtórnie) - (re)draw<br />

WM_QUIT Koniec pracy aplikacji<br />

itp.<br />

Przedrostek WM_ to skrót od Windows Message - komunikat Windows.<br />

Wymiana komunikatów w środowisku Windows może przebiegać w różny<br />

sposób - zależnie od źródła wywołującego generację komunikatu i<br />

od charakteru zdarzenia. Ze względu na źródło można komuniakty<br />

umownie podzielić na następujące grupy:<br />

1. Działanie użytkownika (np. naciśnięcie klawisza) powoduje<br />

wygenerowanie komunikatu.<br />

2. Program - aplikacja wywołuje funkcję Windows i powoduje<br />

przesłanie komunikatu do aplikacji.<br />

3. Środowisko Windows przesyła komunikat do programu.<br />

4. Dwie aplikacje związane mechanizmem dynamicznej wymiany<br />

danych (Dinamic Data Exchange - DDE) wymieniają komunikaty.<br />

Komunikaty Windows można także podzielić umownie na następujące<br />

kategorie:<br />

1. Komunikaty dotyczące zarządzania oknami (Windows Managenent<br />

Msg.):<br />

WM_ACTIVATE (zaktywizuj lub zdezaktywizuj okno), WM_PAINT,<br />

WM_MOVE, WM_SIZE, WM_CLOSE, WM_QUIT.<br />

Bardzo istotnym szczegółem technicznym jest problem<br />

przekazywania aktywności pomiędzy oknami. Szczególnie często<br />

występuje potrzeba przekazania aktywności do elementu<br />

sterującego. Jeśli hEditWnd będzie identyfikatorem (window<br />

handle) okienka edycyjnego:<br />

- 378-

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

Saved successfully!

Ooh no, something went wrong!