The information in this article applies to:
SUMMARY
Vcombobx.exe is a sample that shows how to implement a virtual combo box.
MORE INFORMATIONThe following file is available for download from the Microsoft
Download Center. Click the file name below to download the file: Vcombobx.exeRelease Date: Dec-21-1998 For more information about how to download files from the Microsoft Download Center, please visit the Download Center at the following Web address http://www.microsoft.com/downloads/search.aspand then click How to use the Microsoft Download Center. Windows 95, Windows 98, and Windows NT 4.0 provide a list box style, called LBS_NODATA, that enables you to implement a virtual list box. The basic idea is to specify to the list box a count of the number of items using the LB_SETCOUNT message. No item is inserted. The virtual list box is an owner- drawn list box with the LBS_OWNERDRAWFIXED style. When an item needs to be drawn, it sends the parent a WM_DRAWITEM message and the parent handles this message by displaying the appropriate string. The virtual combo box uses a virtual list box to implement a combo box. The same advantages accrue. However, instead of sending the parent a WM_DRAWITEM message, the virtual combo box simplifies the parent's job by sending a WM_NOTIFY message with a notification code of VCBN_GETDISPINFO. The structure passed with this notification specifies the index of the item that needs to be drawn, and requires the parent to copy the corresponding string to an array whose address is passed. There are three styles you can specify for the virtual combo box, VCBS_SIMPLE, VCBS_DROPDOWN, and VCBS_DROPDOWNLIST, which are patterned after the corresponding combo box styles, CBS_SIMPLE, CBS_DROPDOWN, and CBS_DROPDOWNLIST, respectively. In the case of the VCBS_SIMPLE and VCBS_DROPDOWN styles, the virtual combo box has an edit control and the combo box sends a VCBN_DISPCHANGE notification (in the form of a WM_NOTIFY message) when the edit control's contents change. The parent needs to handle this notification if it wants to change the contents of the list box to reflect the contents of the edit control. The virtual combo box sends notifications such as VCBN_SELCHANGE, VCBN_SETFOCUS, VCBN_KILLFOCUS, and so on, in a WM_COMMAND message to the parent. The complete information about the different notifications, the different combo box styles, and the virtual combo box messages is available in the header file, Vcombobx.h. The sample has the files for the implementation of the virtual combo box and a file that has code to test the control. The test file demonstrates the handling of the VCBN_GETDISPINFO and VCBN_DISPCHANGE notifications. The edit control and the list box are superclassed and implemented in separate files. There is also a DLL version of the virtual combo box, VIRTCBOX, available as a self-extracting file. The DLL version is almost the same as the executable version, except for the minor differences related to the signature of the function for initialization of the virtual combo box, and small changes for exporting the functions. Additional query words:
Keywords : kbComboBox kbNTOS400 kbSDKPlatform kbWinOS95 kbWinOS98 |
Last Reviewed: November 23, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |