Platte schuifbalken
Microsoft Internet Explorer 4.0 heeft een nieuwe visuele technologie geïntroduceerd, genaamd platte schuifbalken. Functioneel gedragen platte schuifbalken zich net als standaard schuifbalken. Het verschil is dat u hun uiterlijk in grotere mate kunt aanpassen dan standaard schuifbalken.
In de volgende afbeelding ziet u een venster met een platte schuifbalk.
Notitie
Platte schuifbalken worden ondersteund door Comctl32.dll versies 4.71 tot en met 5.82. Comctl32.dll versies 6.00 en hoger bieden geen ondersteuning voor platte schuifbalken.
Platte schuifbalken gebruiken
In deze sectie wordt beschreven hoe u platte schuifbalken in uw toepassing implementeert.
Voordat u begint
Als u de functies van de platte schuifbalk wilt gebruiken, moet u Commctrl.h opnemen in uw bronbestanden en een koppeling met Comctl32.lib.
Platte schuifbalken toevoegen aan een venster
Als u platte schuifbalken aan een venster wilt toevoegen, roept u InitializeFlatSB-aan en geeft u de greep door aan het venster. In plaats van de standaardfuncties voor schuifbalken te gebruiken om uw schuifbalken te bewerken, moet u de equivalente FlatSB_XXX functie gebruiken. Er zijn platte schuifbalkfuncties voor het instellen en ophalen van de schuifgegevens, het bereik en de positie. Als platte schuifbalken niet zijn geïnitialiseerd voor uw venster, wordt de API voor platte schuifbalken uitgesteld tot de bijbehorende standaardfuncties, indien van toepassing. Hierdoor kunt u platte schuifbalken in- en uitschakelen zonder dat u voorwaardelijke code hoeft te schrijven.
Omdat een toepassing aangepaste metrische gegevens kan hebben ingesteld voor de platte schuifbalken, worden ze niet automatisch bijgewerkt wanneer de metrische gegevens van het systeem veranderen. Wanneer de metrische gegevens van de systeemschuifbalk veranderen, wordt een WM_SETTINGCHANGE bericht uitgezonden, waarbij de bijbehorende wParam- is ingesteld op SPI_SETNONCLIENTMETRICS. Als u platte schuifbalken wilt bijwerken naar de nieuwe metrische systeemgegevens, moeten toepassingen dit bericht afhandelen en de metrische eigenschappen van de platte schuifbalk expliciet wijzigen.
Gebruik FlatSB_SetScrollPropom de eigenschappen van de schuifbalk bij te werken. In het volgende codefragment worden de metrische afhankelijke eigenschappen van een platte schuifbalk gewijzigd in de huidige systeemwaarden.
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);
}
Platte schuifbalken verbeteren
FlatSB_SetScrollProp kunt u de platte schuifbalken wijzigen om het uiterlijk van uw venster aan te passen. Voor verticale schuifbalken kunt u de breedte van de balk en de hoogte van de richtingspijlen wijzigen. Voor horizontale schuifbalken kunt u de hoogte van de balk en de breedte van de richtingspijlen wijzigen. U kunt ook de achtergrondkleur van zowel de horizontale als de verticale schuifbalken wijzigen.
FlatSB_SetScrollProp kunt u ook aanpassen hoe de platte schuifbalken worden weergegeven. Door de eigenschappen WSB_PROP_VSTYLE en WSB_PROP_HSTYLE te wijzigen, kunt u het type schuifbalk instellen dat u wilt gebruiken. Er zijn drie stijlen beschikbaar.
Stijl | Beschrijving |
---|---|
FSB_ENCARTA_MODE | Er wordt een standaard platte schuifbalk weergegeven. Wanneer de muis over een richtingsknop of de duim beweegt, wordt dat gedeelte van de schuifbalk weergegeven in 3D. |
FSB_FLAT_MODE | Er wordt een standaard platte schuifbalk weergegeven. Wanneer de muis over een richtingsknop of de duim beweegt, wordt dat gedeelte van de schuifbalk weergegeven in omgekeerde kleuren. |
FSB_REGULAR_MODE | Er wordt een normale, niet-opflatende schuifbalk weergegeven. Er worden geen speciale visuele effecten toegepast. |
Platte schuifbalken verwijderen
Als u platte schuifbalken uit uw venster wilt verwijderen, roept u de functie UninitializeFlatSB aan en geeft u de greep door aan het venster. Met deze functie worden alleen platte schuifbalken uit het venster tijdens runtime verwijderd. U hoeft deze functie niet aan te roepen wanneer uw venster wordt vernietigd.