#include <custcntl.h>
typedef struct tagCTLINFO {
UINT wVersion; /* control version */
UINT wCtlTypes; /* control types */
char szClass[CTLCLASS]; /* control class name */
char szTitle[CTLTITLE]; /* control title */
char szReserved[10]; /* reserved for future use */
CTLTYPE Type[CTLTYPES]; /* control type list */
} CTLINFO;
The CTLINFO structure defines the class name and version number for a custom control. The CTLINFO structure also contains an array of CTLTYPE structures, each of which lists commonly used combinations of control styles (called variants), with a short description and information about the suggested size.
wVersion
Specifies the control version number. Although you can start your numbering scheme from one digit, most implementations use the lower two digits to represent minor releases.
wCtlTypes
Specifies the number of control types supported by this class. This value should always be greater than zero and less than or equal to the CTLTYPES value.
szClass
Specifies a null-terminated string that contains the control class name supported by the dynamic-link library (DLL). This string should be no longer than the CTLCLASS value.
szTitle
Specifies a null-terminated string that contains various copyright or author information relating to the control library. This string should be no longer than the CTLTITLE value.
Type
Specifies an array of CTLTYPE structures containing information that relates to each of the control types supported by the class. There should be no more elements in the array than specified by the CTLTYPES value.
An application calls the ClassInfo function to retrieve basic information about the control library. Based on the information returned, the application can create instances of a control by using one of the supported styles. For example, Dialog Editor calls this function to query a library about the different control styles it can display.
The return value of the ClassInfo function identifies a CTLINFO structure if the function is successful. This information becomes the property of the caller, which must explicitly release it by using the GlobalFree function when the structure is no longer needed.