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.
Kontekst — menu podręczne jest główną kontrolką w ContextPopup View struktury wstążki systemu Windows. Jest to rozbudowany system menu kontekstowego, który jest udostępniany tylko przez platformę jako rozszerzenie implementacji wstążki — platforma nie uwidacznia wyskakującego okienka kontekstowego jako niezależnej kontrolki.
- składniki okna podręcznego kontekstu
- implementowanie okna podręcznego kontekstu
- właściwości kontekstowego kontekstu
- Tematy pokrewne
Składniki okna podręcznego kontekstu
Kontekst podręczne jest kontenerem logicznym dla menu kontekstowego i Mini-Toolbar kontrolki podrzędne, które są widoczne odpowiednio za pośrednictwem ContextMenu i MiniToolbar elementów znaczników:
- ContextMenu uwidacznia menu Polecenia i galerie.
- MiniToolbar uwidacznia przestawny pasek narzędzi różnych poleceń, galerii i złożonych kontrolek, takich jak Kontrolka czcionki i pole kombi .
Każda kontrolka podrzędna może być wyświetlana co najwyżej raz w oknie podręcznym Kontekst.
Poniższy zrzut ekranu przedstawia okno podręczne kontekstu i jego składowe kontrolki podrzędne.
Kontekst — menu podręczne jest wyłącznie koncepcyjne i nie uwidacznia żadnych funkcji interfejsu użytkownika, takich jak pozycjonowanie lub ustalanie rozmiaru.
Nuta
Okno podręczne kontekstowe jest zwykle wyświetlane przez kliknięcie prawym przyciskiem myszy (lub za pomocą skrótu klawiaturowego SHIFT+F10) na obiekcie zainteresowania. Jednak kroki wymagane do wyświetlenia okna podręcznego kontekstu są definiowane przez aplikację.
Implementowanie okna podręcznego kontekstu
Podobnie jak w przypadku innych kontrolek struktury wstążki systemu Windows, okno podręczne kontekstu jest implementowane za pośrednictwem składnika znaczników, który określa szczegóły prezentacji i składnik kodu, który rządzi jego funkcjonalnością.
W poniższej tabeli wymieniono kontrolki, które są obsługiwane przez każdą kontrolkę podrzędną kontekstową.
Kontrola | Mini-Toolbar | Menu kontekstowe |
---|---|---|
przycisk | x | x |
pole wyboru | x | x |
pola kombi | x | |
przyciskDrop-Down | x | x |
selektor kolorów Drop-Down | x | x |
z galeriiDrop-Down | x | x |
kontrolki czcionek | x | |
przycisk Pomocy | ||
z galeriiIn-Ribbon | ||
pokrętła | ||
przycisk podziału | x | x |
Galeria przycisków podziału | x | x |
przełącznik | x | x |
Adiustacja
Każda kontrolka kontekstowa podrzędna musi być zadeklarowana indywidualnie w adiustacji.
Mini-Toolbar
Podczas dodawania kontrolek do mini-paska narzędzi kontekstowych należy wziąć pod uwagę następujące dwa zalecenia:
- Kontrolki powinny być bardzo rozpoznawalne i zapewniać oczywiste funkcje. Znajomość jest kluczowa, ponieważ etykiety i etykietki narzędzi nie są widoczne dla kontrolek Mini-Toolbar.
- Każde polecenie uwidocznione przez kontrolkę powinno być prezentowane w innym miejscu w interfejsie użytkownika wstążki. Mini-Toolbar nie obsługuje nawigacji za pomocą klawiatury.
W poniższym przykładzie przedstawiono podstawowy znacznik dla elementuMiniToolbar, który zawiera trzy kontrolki Button.
Nuta
Jeden element MenuGroup jest określony dla każdego wiersza kontrolek na mini-pasku narzędzi.
<MiniToolbar Name="MiniToolbar">
<MenuGroup>
<Button CommandName="cmdButton1" />
<Button CommandName="cmdButton2" />
<Button CommandName="cmdButton3" />
</MenuGroup>
</MiniToolbar>
Menu kontekstowe
W poniższym przykładzie przedstawiono podstawowy znacznik dla elementu ContextMenu, który zawiera trzy kontrolki Button.
Nuta
Każdy zestaw kontrolek w MenuGroup element jest oddzielony poziomym paskiem w menu kontekstowym.
<ContextMenu Name="ContextMenu">
<MenuGroup>
<Button CommandName="cmdCut" />
<Button CommandName="cmdCopy" />
<Button CommandName="cmdPaste" />
</MenuGroup>
</ContextMenu>
Mimo że okno podręczne kontekstu może zawierać co najwyżej jedną z każdej kontrolki podrzędnej, wiele ContextMenu i MiniToolbar deklaracje elementów w znaczniku wstążki są prawidłowe. Dzięki temu aplikacja może obsługiwać różne kombinacje menu kontekstowego i kontrolek Mini-Toolbar na podstawie kryteriów zdefiniowanych przez aplikację, takich jak kontekst obszaru roboczego.
Aby uzyskać więcej informacji, zobacz element ContextMap.
W poniższym przykładzie przedstawiono podstawowy znacznik dla elementu ContextPopup.
<ContextPopup>
<ContextPopup.MiniToolbars>
<MiniToolbar Name="MiniToolbar">
<MenuGroup>
<Button CommandName="cmdButton1" />
<Button CommandName="cmdButton2" />
<Button CommandName="cmdButton3" />
</MenuGroup>
</MiniToolbar>
</ContextPopup.MiniToolbars>
<ContextPopup.ContextMenus>
<ContextMenu Name="ContextMenu">
<MenuGroup>
<Button CommandName="cmdCut" />
<Button CommandName="cmdCopy" />
<Button CommandName="cmdPaste" />
</MenuGroup>
</ContextMenu>
</ContextPopup.ContextMenus>
<ContextPopup.ContextMaps>
<ContextMap CommandName="cmdContextMap" ContextMenu="ContextMenu" MiniToolbar="MiniToolbar"/>
</ContextPopup.ContextMaps>
</ContextPopup>
Kod
Aby wywołać okno podręczne kontekstu, metoda IUIContextualUI::ShowAtLocation jest wywoływana, gdy okno najwyższego poziomu aplikacji wstążki otrzyma powiadomienie WM_CONTEXTMENU.
W tym przykładzie pokazano, jak obsługiwać powiadomienie WM_CONTEXTMENU w metodzie WndProc() aplikacji wstążki.
case WM_CONTEXTMENU:
POINT pt;
POINTSTOPOINT(pt, lParam);
// ShowContextualUI method defined by the application.
ShowContextualUI (pt, hWnd);
break;
W poniższym przykładzie pokazano, jak aplikacja wstążki może wyświetlić okno podręczne kontekstu w określonej lokalizacji ekranu przy użyciu metody IUIContextualUI::ShowAtLocation.
Element GetCurrentContext() ma wartość cmdContextMap
zdefiniowaną w poprzednim przykładzie znaczników.
g_pApplication jest odwołaniem do interfejsuIUIFramework.
HRESULT ShowContextualUI(POINT& ptLocation, HWND hWnd)
{
GetDisplayLocation(ptLocation, hWnd);
HRESULT hr = E_FAIL;
IUIContextualUI* pContextualUI = NULL;
if (SUCCEEDED(g_pFramework->GetView(
g_pApplication->GetCurrentContext(),
IID_PPV_ARGS(&pContextualUI))))
{
hr = pContextualUI->ShowAtLocation(ptLocation.x, ptLocation.y);
pContextualUI->Release();
}
return hr;
}
Odwołanie do IUIContextualUI można zwolnić przed odrzuceniem okna podręcznego kontekstu, jak pokazano w poprzednim przykładzie. Jednak odwołanie musi zostać wydane w pewnym momencie, aby uniknąć przecieków pamięci.
Ostrożność
Mini-Toolbar ma wbudowany efekt zanikania, który opiera się na sąsiedztwie wskaźnika myszy. Z tego powodu zaleca się, aby Mini-Toolbar być wyświetlane jak najbliżej wskaźnika myszy, jak to możliwe. W przeciwnym razie ze względu na sprzeczne mechanizmy wyświetlania Mini-Toolbar mogą nie być renderowane zgodnie z oczekiwaniami.
Właściwości menu podręcznego kontekstu
Nie ma żadnych kluczy właściwości skojarzonych z kontrolką Kontekst — menu podręczne.
Tematy pokrewne