Zagadnienia dotyczące projektowania obiektów proxy
Projekt serwera proxy i dostępny obiekt zależy od projektu elementów interfejsu użytkownika serwera. Niezależnie od projektu, element interfejsu użytkownika musi powiadomić jego obiekt proxy bezpośrednio przed jego zniszczeniem, aby obiekt proxy obsługiwał wywołania od klientów odpowiednio.
Na poniższej liście opisano dwie możliwości projektowania:
- Umieść kod implementujący interfejs IAccessible w tym samym module co kod implementujący element interfejsu użytkownika, jeśli kod interfejsu użytkownika jest łatwo rozszerzalny. W takim przypadku serwer proxy jest "lekki" w tym sensie, że wszystko, co robi, to monitorować okres życia dostępnego obiektu, przesyłać wywołania do dostępnego obiektu i zwracać wyniki.
- Umieść kod implementujący IAccessible w tym samym module co kod implementujący obiekt serwera proxy. W tym przypadku dostępny obiekt używa funkcji wewnętrznych do uzyskiwania informacji o elemecie interfejsu użytkownika.
Kontrolki paska śledzenia
Podczas implementowania kontrolek paska śledzenia użyj TBS_REVERSED stylu paska śledzenia, aby uzyskać bardziej znaczące informacje. Ten styl odwraca skalę używaną przez IAccessible::get_accValue.
W przypadku pionowych pasków trackbarów bez tego stylu IAccessible::get_accValue zwraca zero (0), gdy kciuk paska śledzenia znajduje się u góry kontrolki; wartości rosną podczas przesuwania kciuka w kierunku dolnej części. W stylu TBS_REVERSEDIAccessible::get_accValue zwraca sto (100), gdy kciuk paska trackbar znajduje się u góry; liczby są zmniejszane w miarę przesuwania kciuka paska trackbar w kierunku dołu.
W przypadku poziomych pasków torowych bez tego stylu zwracany jest zero (0), gdy kciuk paska torów znajduje się na lewym końcu kontrolki; wartości rosną w miarę przesuwania kciuka paska śledzenia po prawej stronie. W stylu TBS_REVERSEDIAccessible::get_accValue zwraca sto (100), gdy kciuk paska torów znajduje się po lewej stronie; wartości są zmniejszane w miarę przesuwania kciuka paska śledzenia po prawej stronie.