Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby utworzyć mapy wartości
Utwórz ciąg mapowania.
Ciąg mapowania to lista wartości liczbowych kontrolki odpowiadających ciągowi czytelnym dla człowieka w formacie Unicode. Zaczyna się od ciągu "A:", po którym następuje liczba wskazująca typ używanego indeksu. Obsługiwane są tylko indeksy obrazów; dlatego typ indeksu jest zawsze 0.
Po ciągu następują pary :index:result. "indeks" to liczba reprezentująca indeks obrazu dla List-View lub widoku drzewa albo wartość kontrolki suwaka.
Wynikowa wartość jest liczbą uzyskaną, gdy mapujesz właściwość Rola lub Stan dla widoku listy lub widoku drzewa. Takie liczby są wyrażane w systemie dziesiętnym lub szesnastkowym z prefiksem "0x".
Ciąg mapowania jest zawsze zakończony ostatnim dwukropkiem (":").
Poniżej przedstawiono przykład mapy adnotacji dla właściwości stanu i roli pola wyboru w kontrolce widoku listy lub widoku drzewa. W widoku znajdują się dwa elementy reprezentujące pola wyboru, a każdy z nich ma obrazy odpowiadające zaznaczonemu i niezaznaczonemu stanowi.
LPCWSTR g_ListOrTreeStateMap = L"A:0" // Index type; always 0. ! L":0:0x00" // Image 0 is normal ! L":1:0x10" // Image 1 is checked - STATE_SYSTEM_CHECKED (0x10) ! L":"; LPCWSTR g_ListOrTreeRoleMap = L"A:0" // Index type; always 0. ! L":0:0x2C" // Image 0 is a check box - ROLE_SYSTEM_CHECKBUTTON (0x2c) ! L":1:0x2C" // image 1 is also a check box ! L":";Aby uzyskać prawidłowe wartości roli i stanu, zobacz role obiektów i stałe stanu obiektu .
Wartość indeksu może być ujemna podczas mapowania właściwości kontrolki suwaka.
Podczas mapowania właściwości Value lub Description wynik jest ciągiem. Ciągi nie są ujmowane w cudzysłów, a dwukropki działają jako ograniczniki.
Aby uzyskać więcej informacji, zobacz Format Mapy Adnotacji .
Utwórz menedżera adnotacji i uzyskaj wskaźnik do interfejsuIAccPropServices.
Poniżej przedstawiono przykład tworzenia menedżera adnotacji.
IAccPropServices * pAccPropSvc = NULL; HRESULT hr = CoCreateInstance(CLSID_AccPropServices, NULL, CLSCTX_SERVER, IID_IAccPropServices, (void**) & pAccPropSvc));Załącz ciąg mapowania do kontrolki.
Wywołaj IAccPropServices::SetHwndPropStr, przekazując HWND kontrolki i wskaźnik do ciągu znaków mapowania.
Parametr IdProp będzie jednym z następujących parametrów.
Parametr Używane do MSAAPROPID_ROLEMAP Aby ustawić mapę roli dla kontrolek widoku listy lub widoku drzewa. MSAAPROPID_STATEMAP Aby ustawić mapę stanu dla kontrolek widoku listy lub widoku drzewa. PROPID_ACC_DESCRIPTIONMAP Aby ustawić mapę opisu dla widoku listy lub widoku drzewa. MSAAPROPID_VALUEMAP Aby ustawić mapę wartości na kontrolkach suwaka. Czyszczenie.
Przed zniszczeniem kontrolek z adnotacjami na mapie wartości (na przykład podczas obsługi WM_DESTROY), należy wyczyścić wcześniej zarejestrowane właściwości i zwolnić menedżera adnotacji.
Aby to zrobić, wywołaj IAccPropServices::ClearHwndProps odpowiednio i zwolnij wskaźnika do IAccPropServices.
Aby uzyskać przykładowy kod, zobacz przykład adnotacji mapowania wartości .