Buttons, menus, static text controls, list boxes, and combo boxes can be created using an owner-drawn style flag. Normally, Windows is responsible for drawing the appearance of these controls. However, when a control is created with an owner-drawn style, Windows suppresses its normal drawing routine and instead sends WM_DRAWITEM messages whenever the control needs to be painted. If the control has variable-sized items, Windows also sends WM_MEASUREITEM messages so that the parent window can specify the size of each item.
By processing these messages, the parent window takes responsibility for drawing the control, allowing the developer to create a completely custom appearance, including colours, fonts, images, icons, and other graphical effects that are not available through the standard control properties.
Example
The application below consists of customised listbox and a customised static box. The customised listbox displays a small bitmap next to each list item. Selecting any item will copy the Listbox item to the static box

Example
The application below displays a customised menu. Clicking the file options displays an user-defined drop-down list
