# SftButton/DLL 3.0 — API Reference > Index of the SftButton/DLL 3.0 API reference, which is split into files by class or object. Each entry links one file and names the topics in it; read only the files you need. For an exact declaration, read the signatures file named under the class first: one line per member. The guide is in https://softelvdm.com/Vault/Softelvdm.com/llms/SftButton-DLL-3.0.txt Online documentation: https://softelvdm.com/Documentation/SftButton%20DLL%203%200 ## Overview - [Overview](https://softelvdm.com/Vault/Softelvdm.com/llms/SftButton-DLL-3.0-reference-Overview.txt) - Notifications: The button control sends WM_COMMAND messages to its parent window for user interaction, state changes and layout events. - Window Styles: SftButton honors the standard Windows window styles listed below. - Extended Window Styles: SftButton honors the standard extended window styles (WS_EX_) that apply to child windows. - Windows Messages: In addition to the standard Windows messages (WM_SETFONT, WM_COMMAND, WM_NOTIFY, WM_SETTEXT, WM_GETTEXT, etc.) that a SftButton control understands as a first-class Windows window, the control defines the following custom messages. - C/C++ API: The complete C and C++/MFC API for SftButton/DLL 3.0, in alphabetical order. ## Functions Signatures: https://softelvdm.com/Vault/Softelvdm.com/llms/SftButton-DLL-3.0-signatures-1.txt - [Functions](https://softelvdm.com/Vault/Softelvdm.com/llms/SftButton-DLL-3.0-reference-Functions.txt) - CalcOptimalSize (SftButton_CalcOptimalSize): Compute the optimal width and height for the button given its current images, text, border and theme settings. - Create: Create a SftButton control as a child window of an existing CWnd parent. - CSftButton: Default constructor and destructor for the CSftButton MFC class. - DoClick (SftButton_DoClick): Synthesize a click on the main button area. - DoClickDropDown (SftButton_DoClickDropDown): Synthesize a click on the dropdown arrow. - FreeGDIPlusImage (SftButton_FreeGDIPlusImageLoadedFromResource, SftButton_FreeGDIPlusImageLoadedFromFile): Free a GDI+ image previously returned by SftButton_LoadGDIPlusImageFromResource or SftButton_LoadGDIPlusImageFromFile. - GetControlInfo (SftButton_GetControlInfo): Retrieve the button's current configuration into a SFTBUTTON_CONTROL structure. - GetDarkMode (SftButton_GetDarkMode): Return the button's current dark mode setting. - GetDesign (SftButton_GetDesign): Return TRUE if the button is in design mode. - GetDPI (SftButton_GetDPI): Return the effective DPI for the monitor the button control is currently displayed on. - GetHighContrastMode (SftButton_GetHighContrastMode): Return the button's current high contrast setting. - GetImageScaling (SftButton_GetImageScaling): Return the button's current image-scaling setting. - GetPixelScaling (SftButton_GetPixelScaling): Return the button's current pixel-scaling setting. - IsDarkModeActive (SftButton_IsDarkModeActive): Return TRUE if the button is currently rendering with a dark palette. - IsHighContrastActive (SftButton_IsHighContrastActive): Return TRUE if the button is currently rendering using the system high-contrast palette. - LoadGDIPlusImage (SftButton_LoadGDIPlusImageFromResource, SftButton_LoadGDIPlusImageFromFile): Load a GDI+ image (PNG, TIFF, JPEG, GIF, EMF+ and so on) from an embedded application resource or from a file on disk. - QueryChar (SftButton_QueryChar): Ask the button whether it would handle a given character as its accelerator key. - Refresh (SftButton_Refresh): Force the button to invalidate and redraw itself. - RegisterApp (SftButton_RegisterApp, SftButton_UnregisterApp): Register or unregister the SftButton/DLL window classes with the current process. - SetControlInfo (SftButton_SetControlInfo): Apply a SFTBUTTON_CONTROL structure to the button, configuring images, colors, text, border, theme and behavior in a single call. - SetDarkMode (SftButton_SetDarkMode): Selects how the button control participates in Windows dark mode. - SetDesign (SftButton_SetDesign): Switch the button into or out of design mode. - SetHighContrastMode (SftButton_SetHighContrastMode): Selects how the button control participates in the Windows High Contrast accessibility setting. - SetImageScaling (SftButton_SetImageScaling): Select whether all images drawn by the button control are automatically scaled for the current monitor DPI. - SetPixelScaling (SftButton_SetPixelScaling): Select whether caller-supplied pixel dimensions on SFTBUTTON_CONTROL are interpreted as 96-DPI reference values (and scaled for the current monitor DPI) or used verbatim. - SFTBUTTON_CLASS: The window class name registered by SftButton_RegisterApp and used when creating a button with CreateWindow / CreateWindowEx or in a dialog resource. - SFTBUTTON_NOCOLOR (SFT_NOCOLOR): Sentinel COLORREF value meaning "no color / use default". - SFTBUTTON_VERSION: Version constants identifying the major release of SftButton/DLL. - WndProc (SftButton_WndProc): The button control's window procedure. ## Constants Signatures: https://softelvdm.com/Vault/Softelvdm.com/llms/SftButton-DLL-3.0-signatures-1.txt - [Constants](https://softelvdm.com/Vault/Softelvdm.com/llms/SftButton-DLL-3.0-reference-Constants.txt) - SFTBUTTON_AUTOSIZE: Values for the iAutoSize field on SFTBUTTON_CONTROL. - SFTBUTTON_BORDER: Values for the nBorderStyle field on SFTBUTTON_CONTROL. - SFTBUTTON_BOUNCE: Values for the iBounce field on SFTBUTTON_CONTROL. - SFTBUTTON_CLICKSTYLE: Values for the iClickStyle field on SFTBUTTON_CONTROL. - SFTBUTTON_DARKMODE: The SFTBUTTON_DARKMODE constants describe whether the button control participates in Windows dark mode. - SFTBUTTON_DROPDOWNSTYLE: Values for the nDropDownStyle field on SFTBUTTON_CONTROL. - SFTBUTTON_ERR: Error codes SetControlInfo stores in the errorValue field of the SFTBUTTON_CONTROL structure passed to it when a field has an invalid value. - SFTBUTTON_HIGHCONTRAST: Values for the nHighContrastMode field on SFTBUTTON_CONTROL and for SetHighContrastMode / GetHighContrastMode. - SFTBUTTON_HOVERSTYLE: Values for the iHoverStyle field on SFTBUTTON_CONTROL. - SFTBUTTON_IMAGESCALING: Values for SetImageScaling / GetImageScaling and for the imageScaling field on SFTBUTTON_CONTROL. - SFTBUTTON_PIXELSCALING: Values for SetPixelScaling / GetPixelScaling and for the pixelScaling field on SFTBUTTON_CONTROL. - SFTBUTTON_THEME: Values for the nUseThemes field on SFTBUTTON_CONTROL. ## Structures Signatures: https://softelvdm.com/Vault/Softelvdm.com/llms/SftButton-DLL-3.0-signatures-1.txt - [Structures](https://softelvdm.com/Vault/Softelvdm.com/llms/SftButton-DLL-3.0-reference-Structures.txt) - SFTBUTTON_CONTROL: SFTBUTTON_CONTROL holds the complete state of a SftButton control - its colors, images, text, border, theme and behavior - in a single structure.