Sdílet prostřednictvím


Ploché posuvníky

Microsoft Internet Explorer 4.0 zavedl novou vizuální technologii nazvanou ploché posuvníky. Funkčně se ploché posuvníky chovají stejně jako standardní posuvníky. Rozdíl je v tom, že jejich vzhled můžete přizpůsobit většímu rozsahu než standardní posuvníky.

Následující obrázek znázorňuje okno, které obsahuje plochý posuvník.

snímek obrazovky s oknem, které obsahuje plochý posuvník

Poznámka

Ploché posuvníky podporují Comctl32.dll verze 4.71 až 5.82. Comctl32.dll verze 6.00 a novější nepodporují ploché posuvníky.

 

Použití plochých posuvníků

Tato část popisuje, jak implementovat ploché posuvníky ve vaší aplikaci.

Než začnete

Chcete-li používat funkce plochého posuvníku, musíte do zdrojových souborů zahrnout Commctrl.h a odkazovat na Comctl32.lib.

Přidání plochých posuvníků do okna

Chcete-li přidat ploché posuvníky do okna, volání InitializeFlatSB, předání úchytu do okna. Místo použití standardních funkcí posuvníku pro manipulaci s posuvníky musíte použít ekvivalentní funkci FlatSB_XXX. K dispozici jsou ploché funkce posuvníku pro nastavení a načítání informací o posouvání, rozsahu a umístění. Pokud nebyly pro okno inicializovány ploché posuvníky, rozhraní API plochého posuvníku odloží odpovídající standardní funkce, pokud se nějaké použijí. Můžete tak zapnout a vypnout ploché posuvníky, aniž byste museli psát podmíněný kód.

Vzhledem k tomu, že aplikace mohla pro ploché posuvníky nastavit vlastní metriky, při změně systémových metrik se automaticky neaktualizují. Když se změní metriky posuvníku systému, bude zpráva WM_SETTINGCHANGE vysílat, přičemž její wParam nastavena na SPI_SETNONCLIENTMETRICS. Pokud chcete aktualizovat ploché posuvníky na nové systémové metriky, musí aplikace zpracovat tuto zprávu a explicitně změnit vlastnosti závislé na metrice plochého posuvníku.

Pokud chcete aktualizovat vlastnosti posuvníku, použijte FlatSB_SetScrollProp. Následující fragment kódu změní vlastnosti závislé na metrice plochého posuvníku na aktuální systémové hodnoty.

void FlatSB_UpdateMetrics(HWND hWnd)
{
FlatSB_SetScrollProp(hWnd, WSB_PROP_CXVSCROLL, GetSystemMetrics(SM_CXVSCROLL), FALSE);
FlatSB_SetScrollProp(hWnd, WSB_PROP_CXHSCROLL, GetSystemMetrics(SM_CXHSCROLL), FALSE);
FlatSB_SetScrollProp(hWnd, WSB_PROP_CYVSCROLL, GetSystemMetrics(SM_CYVSCROLL), FALSE);
FlatSB_SetScrollProp(hWnd, WSB_PROP_CYHSCROLL, GetSystemMetrics(SM_CYHSCROLL), FALSE);
FlatSB_SetScrollProp(hWnd, WSB_PROP_CXHTHUMB, GetSystemMetrics(SM_CXHTHUMB), FALSE);
FlatSB_SetScrollProp(hWnd, WSB_PROP_CYVTHUMB, GetSystemMetrics(SM_CYVTHUMB), TRUE);
}

Vylepšení plochých posuvníků

FlatSB_SetScrollProp umožňuje upravit ploché posuvníky a přizpůsobit vzhled okna. U svislých posuvníků můžete změnit šířku pruhu a výšku směrových šipek. U vodorovných posuvníků můžete změnit výšku pruhu a šířku směrových šipek. Můžete také změnit barvu pozadí vodorovných i svislých posuvníků.

FlatSB_SetScrollProp také umožňuje přizpůsobit zobrazení plochých posuvníků. Změnou vlastností WSB_PROP_VSTYLE a WSB_PROP_HSTYLE můžete nastavit typ posuvníku, který chcete použít. K dispozici jsou tři styly.

Styl Popis
FSB_ENCARTA_MODE Zobrazí se standardní plochý posuvník. Když se myš přesune přes směrové tlačítko nebo palec, zobrazí se tato část posuvníku v prostorovém zobrazení.
FSB_FLAT_MODE Zobrazí se standardní plochý posuvník. Když se myš přesune přes směrové tlačítko nebo palec, zobrazí se tato část posuvníku v obrácených barvách.
FSB_REGULAR_MODE Zobrazí se normální nefouknutí posuvníku. Nebudou použity žádné speciální vizuální efekty.

 

Odebrání plochých posuvníků

Pokud chcete z okna odebrat ploché posuvníky, zavolejte funkci UninitializeFlatSB a předejte popisovač oknu. Tato funkce odebere pouze ploché posuvníky z okna za běhu. Při zničení okna nemusíte tuto funkci volat.