Kontrolki ActiveX MFC: optymalizacja
W tym artykule opisano techniki, których można użyć do optymalizacji kontrolek ActiveX w celu uzyskania lepszej wydajności.
Ważne
ActiveX to starsza technologia, która nie powinna być używana do tworzenia nowych rozwiązań. Aby uzyskać więcej informacji na temat nowoczesnych technologii zastępujących activex, zobacz Kontrolki ActiveX.
Tematy Wyłączając opcję Aktywuj po wyświetleniu i Zapewniając interakcję za myszą, podczas gdy nieaktywne , dyskutują kontrolki, które nie tworzą okna do momentu aktywowania. W temacie Zapewnianie aktywacji bez okien omówiono mechanizmy kontroli, które nigdy nie tworzą okna, nawet gdy są aktywowane.
W systemie Windows istnieją dwie główne wady obiektów OLE: uniemożliwiają one wyświetlanie wystąpień i wyświetlania kontrolek przezroczystych lub nieznakliwych. Zazwyczaj tworzenie okna zajmuje 60 procent czasu tworzenia kontrolki. W przypadku pojedynczego okna udostępnionego (zazwyczaj kontenera) i kodu wysyłającego kontrolka odbiera te same usługi okien, zazwyczaj bez utraty wydajności. Posiadanie okna jest w większości niepotrzebnym obciążeniem dla obiektu.
Niektóre optymalizacje niekoniecznie zwiększają wydajność, gdy kontrolka jest używana w niektórych kontenerach. Na przykład kontenery wydane przed 1996 r. nie obsługują aktywacji bez okien, dlatego zaimplementowanie tej funkcji nie zapewni korzyści w starszych kontenerach. Jednak prawie każdy kontener obsługuje trwałość, więc optymalizacja kodu trwałości kontrolki prawdopodobnie poprawi wydajność w dowolnym kontenerze. Jeśli kontrolka ma być używana z jednym konkretnym typem kontenera, warto zbadać, która z tych optymalizacji jest obsługiwana przez ten kontener. Ogólnie jednak należy spróbować zaimplementować dowolną liczbę tych technik, które mają zastosowanie do twojej konkretnej kontroli, aby zapewnić, że kontrolka działa, jak również może znajdować się w szerokiej gamie kontenerów.
Wiele z tych optymalizacji można zaimplementować za pomocą Kreatora kontrolek ActiveX MFC na stronie Ustawienia kontrolki.
Opcje optymalizacji OLE Kreatora formantów ActiveX MFC
Ustawienie kontrolki w Kreatorze kontrolek ActiveX MFC | Akcja | Więcej informacji |
---|---|---|
Uaktywnij, gdy jest widoczne pole wyboru | Clear | Wyłączanie opcji Aktywuj po wyświetleniu |
Pole wyboru Aktywacja bez okna | Wybierz pozycję | Zapewnianie aktywacji niepowiązanej z oknami |
Pole wyboru Rozpakowywanie kontekstu urządzenia | Wybierz pozycję | Używanie nieobcinanego kontekstu urządzenia |
Pole wyboru Aktywacja bez migotania | Wybierz pozycję | Zapewnianie aktywacji pozbawionej migotania |
Powiadomienia wskaźnika myszy, gdy pole wyboru jest nieaktywne | Wybierz pozycję | Zapewnianie interakcji z myszą przy braku aktywności |
Pole wyboru Zoptymalizowany kod rysunku | Wybierz pozycję | Optymalizacja rysowania kontrolek |
Aby uzyskać szczegółowe informacje o funkcjach składowych, które implementują te optymalizacje, zobacz COleControl.
Aby uzyskać więcej informacji, zobacz: