SftButton/DLL 3.0 - Button Control
SftTree/DLL 8.0 - Tree Control
SftBox/OCX 5.0 - Combo Box Control
SftButton/OCX 4.0 - Button Control
SftMask/OCX 7.0 - Masked Edit Control
SftTabs/OCX 6.5 - Tab Control (VB6 only)
SftTree/OCX 8.0 - Tree Control
SftButton/DLL 3.0 - Button Control
SftTree/DLL 8.0 - Tree Control
SftBox/OCX 5.0 - Combo Box Control
SftButton/OCX 4.0 - Button Control
SftMask/OCX 7.0 - Masked Edit Control
SftTabs/OCX 6.5 - Tab Control (VB6 only)
SftTree/OCX 8.0 - Tree Control
SftTree/NET 2.0 - Tree Control
Windows High Contrast is an accessibility setting, not a visual preference. Users who enable it have committed to a specific high-contrast color scheme for everything on screen, and Microsoft's accessibility guidelines require applications to let the user's scheme win over any application-chosen colors. SftButton/OCX 4.0 follows this rule automatically, and unlike most of the control's settings it does so without the application opting in - HighContrastMode defaults to highContrastSftButtonAuto.
When Windows High Contrast is active, the button control draws its face, caption, border and drop-down button using the system high-contrast colors, ignores caller-supplied color overrides so the user's contrast theme wins, and falls back to the system button and toolbar theme classes so the chrome matches the rest of the user's desktop.
The HighContrastMode property has three values (see SftButtonHighContrastConstants):
| Value | Description |
|---|---|
| highContrastSftButtonAuto (default) | Follow the Windows High Contrast setting. The control re-renders when the setting flips. |
| highContrastSftButtonOn | Always use the system palette, regardless of the Windows High Contrast setting. Useful for testing, or for applications that want consistent high-contrast rendering for a specific button. |
| highContrastSftButtonOff | Ignore the Windows High Contrast setting and render normally. Not recommended in shipping applications - it means users with accessibility needs will see rendering that does not comply with their contrast theme. Appropriate only where the application already paints its own high-contrast-aware chrome and inspects HighContrastActive itself. |
The HighContrastChange event is fired each time the active state flips (highContrastSftButtonAuto only) so the application can repaint its own chrome to match. The HighContrastActive property reports the current state at any time.
Dark mode and Windows High Contrast are independent. If the user has both enabled, high contrast takes precedence - the contrast theme's palette wins over the dark palette, because honoring the user's contrast theme is the stronger accessibility requirement. See Dark Mode.
