Klasy pomocnicze
|
|
[początek strony]
-
-
Wspomaga obsługę
struktury Windows RECT
-
Dziedziczy z tej struktury
-
Ma operatory rzutowania na LPRECT
i LPCRECT
[początek strony]
[początek strony]
-
-
Obsługuje ciągi znaków
zmiennej długości
-
Oparta jest na typie TCHAR,
czyli 16-bitowym lub 8-bitowym znaku, w zależności od
występowania definicji kompilatora _UNICODE
-
Ma operator rzutowania na LPCTSTR
(czyli stały ciąg znaków)
-
Wskaźnik LPSTR (czyli
zmienny ciąg znaków) można otrzymać wywołując
CString::GetBuffer określając długość
minimalną wielkość bufora
-
zwrócony LPSTR można
używać dowolnie
-
przed wywołaniem innej
metody z tego obiektu należy wywołać CString::ReleaseBuffer
- należy pamiętać, że po tej funkcji
wskaźnik zwrócony przez CString::GetBuffer może
być już nieprawidłowy
[początek strony]
[początek strony]
[początek strony]
-
-
Interfejs dla uchwytu HMENU
w Windows
-
Ułatwia operacje tworzenia,
wczytywania, obsługi, odświeżania i niszczenia menu
[początek strony]
-
-
Daje najprostszy sposób zmiany
aktualnego kursora na kursor oczekiwania
-
W konstruktorze jest ustawiany
kursor oczekiwania, w destruktorze jest przywracany poprzedni
-
W przypadku niepożądanej
zmiany kursora oczekiwania na zwykły (np. po pojawieniu się
okna dialogowego) można go przywrócić używając
metody CWaitCursor::Restore
-
Innym sposobem zmiany kursora jest
użycie funkcji: CCmdTarget::BeginWaitCursor,
CCmdTarget::EndWaitCursor i CCmdTarget::RestoreWaitCursor
-
Kursor oczekiwania jest ustawiany
przez wirtualną metodę CWinApp::DoWaitCursor
[początek strony]
-
-
Wspomaga kontrolę nad listą
ostatnio używanych plików (MRU - most recently used)
-
Możliwość dodawania
i usuwania z listy, zapisu i odczytu listy z rejestrów,
uaktualnienia menu zawierającego tę listę
[początek strony]
-
-
Daje zdolność określenia
klasy obiektu podczas wykonywania programu
-
Przydatne gdy trzeba sprawdzić
typ argumentu lub gdy trzeba napisać specjalny kod dla obiektów
danej klasy
-
Klasa, której obiekty mają
mieć tę cechę, musi być potomkiem kasy CObject
(niekoniecznie bezpośrednim) i musi być dla tej klasy
zadeklarowane jedno z makr: DECLARE_DYNAMIC, DECLARE_DYNCREATE
lub DECLARE_SERIAL
-
Najczęstszym wykorzystaniem
klasy CRuntimeClass jest użycie metody CObject::IsKindOf
(np. pObject->IsKindOf(RUNTIME_CLASS(CMyClass)))
[początek strony]
|