/* * Listbox definitions */ typedef struct tagLISTSTRUCT { MEASUREITEMSTRUCT16 mis; UINT itemState; RECT16 itemRect; HLOCAL16 hData; char *itemText; struct tagLISTSTRUCT *lpNext; } LISTSTRUCT, *LPLISTSTRUCT; typedef struct { WORD FirstVisible; WORD ItemsCount; WORD ItemsVisible; WORD ColumnsVisible; WORD ItemsPerColumn; short ItemFocused; short PrevFocused; WORD StdItemHeight; WORD ColumnsWidth; WORD DrawCtlType; WORD CtlID; LPLISTSTRUCT lpFirst; HWND hSelf; DWORD dwStyle; /* added for COMBOLBOX style faking */ HWND hParent; HFONT16 hFont; BOOL bRedrawFlag; BOOL HasStrings; BOOL OwnerDrawn; WORD iNumStops; LPINT16 TabStops; BOOL needMeasure; HGLOBAL16 HeapSel; /* MDESC *Heap; */ } HEADLIST,*LPHEADLIST; /* shared code between listbox and combo controls */ extern void CreateListBoxStruct(HWND hwnd, WORD CtlType, LONG styles, HWND parent); extern void DestroyListBoxStruct(LPHEADLIST lphl); extern void ListBoxSendNotification(LPHEADLIST lphl, WORD code); extern LPLISTSTRUCT ListBoxGetItem(LPHEADLIST lphl, UINT uIndex); extern int ListMaxFirstVisible(LPHEADLIST lphl); extern int ListBoxScrollToFocus(LPHEADLIST lphl); extern int ListBoxAddString(LPHEADLIST lphl, SEGPTR itemData); extern int ListBoxInsertString(LPHEADLIST lphl, UINT uIndex, LPCSTR newstr); extern int ListBoxGetText(LPHEADLIST lphl, UINT uIndex, LPSTR OutStr); extern DWORD ListBoxGetItemData(LPHEADLIST lphl, UINT uIndex); extern int ListBoxSetItemData(LPHEADLIST lphl, UINT uIndex, DWORD ItemData); extern int ListBoxDeleteString(LPHEADLIST lphl, UINT uIndex); extern int ListBoxFindString(LPHEADLIST lphl, UINT nFirst, SEGPTR MatchStr); extern int ListBoxFindStringExact(LPHEADLIST lphl, UINT nFirst, SEGPTR MatchStr); extern int ListBoxResetContent(LPHEADLIST lphl); extern int ListBoxSetCurSel(LPHEADLIST lphl, WORD wIndex); extern int ListBoxSetSel(LPHEADLIST lphl, WORD wIndex, WORD state); extern int ListBoxGetSel(LPHEADLIST lphl, WORD wIndex); extern LONG ListBoxDirectory(LPHEADLIST lphl, UINT attrib, LPCSTR filespec); extern int ListBoxGetItemRect(LPHEADLIST lphl, WORD wIndex, LPRECT16 rect); extern int ListBoxSetItemHeight(LPHEADLIST lphl, WORD wIndex, long height); extern int ListBoxFindNextMatch(LPHEADLIST lphl, WORD wChar); extern void ListBoxDrawItem (HWND hwnd, LPHEADLIST lphl, HDC16 hdc, LPLISTSTRUCT lpls, RECT16 *rect, WORD itemAction, WORD itemState); extern int ListBoxFindMouse(LPHEADLIST lphl, int X, int Y); extern void ListBoxAskMeasure(LPHEADLIST lphl, LPLISTSTRUCT lpls);