Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tej grupie artykułów opisano korzystanie z menu i zasobów w aplikacjach dokumentów OLE MFC.
Edytowanie wizualizacji OLE umieszcza dodatkowe wymagania w menu i innych zasobach udostępnianych przez aplikacje dokumentów OLE, ponieważ istnieje wiele trybów, w których można uruchamiać i używać aplikacji kontenera i serwera (składnika). Na przykład aplikacja z pełnym serwerem może działać w dowolnym z tych trzech trybów:
Samodzielny.
W kontekście kontenera, edytowanie elementu na miejscu.
Otwórz, aby edytować element poza kontekstem kontenera, często w osobnym oknie.
Wymaga to trzech oddzielnych układów menu, po jednym dla każdego możliwego trybu aplikacji. Tablice przyspieszeń są również niezbędne dla każdego nowego trybu. Aplikacja kontenerowa może obsługiwać aktywację na miejscu lub nie; jeśli tak, potrzebuje nowej struktury menu i powiązanych tabel przyspieszenia.
Aktywacja w miejscu wymaga, aby aplikacje kontenera i serwera negocjowały przestrzeń na potrzeby menu, paska narzędzi i paska stanu. Wszystkie zasoby muszą być zaprojektowane z myślą o tym. Artykuł Menu i zasoby: Scalanie menu zawiera szczegółowe omówienie tego tematu.
Ze względu na te problemy aplikacje dokumentów OLE utworzone za pomocą kreatora aplikacji mogą mieć maksymalnie cztery oddzielne menu i zasoby tabeli akceleratora. Są one używane z następujących powodów:
Nazwa zasobu | Użyj |
---|---|
IDR_MAINFRAME | Używany w aplikacji MDI, jeśli plik nie jest otwarty lub w aplikacji SDI niezależnie od otwartych plików. Jest to standardowe menu używane w aplikacjach innych niż OLE. |
< >typ projektu IDR_ | Używane w aplikacji MDI, jeśli pliki są otwarte. Używane, gdy aplikacja działa autonomicznie. Jest to standardowe menu używane w aplikacjach innych niż OLE. |
<IDR_projekt>TYPE_SRVR_IP | Używany przez serwer lub kontener, gdy obiekt jest otwarty na miejscu. |
<TYPE_SRVR_EMB IDR_project> | Używany przez aplikację serwera, jeśli obiekt zostaje otwarty bez korzystania z aktywacji w miejscu. |
Każda z tych nazw zasobów reprezentuje menu i zazwyczaj tabelę akceleratora. Podobny schemat powinien być używany w aplikacjach MFC, które nie są tworzone za pomocą kreatora aplikacji.
W poniższych artykułach omówiono tematy związane z kontenerami, serwerami oraz scalaniem menu, niezbędnym do zaimplementowania aktywacji w miejscu.