107 lines
2.5 KiB
C++
107 lines
2.5 KiB
C++
// XComboList.h
|
|
//
|
|
// Author: Hans Dietrich
|
|
// hdietrich2@hotmail.com
|
|
//
|
|
// This software is released into the public domain.
|
|
// You are free to use it in any way you like.
|
|
//
|
|
// This software is provided "as is" with no expressed
|
|
// or implied warranty. I accept no liability for any
|
|
// damage or loss of business that this software may cause.
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef XCOMBOLIST_H
|
|
#define XCOMBOLIST_H
|
|
|
|
extern UINT NEAR WM_XCOMBOLIST_VK_RETURN;
|
|
extern UINT NEAR WM_XCOMBOLIST_VK_ESCAPE;
|
|
extern UINT NEAR WM_XCOMBOLIST_KEYDOWN;
|
|
extern UINT NEAR WM_XCOMBOLIST_LBUTTONUP;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CXComboList window
|
|
|
|
class CXComboList : public CWnd
|
|
{
|
|
// Construction
|
|
public:
|
|
CXComboList(CWnd *pParent);
|
|
virtual ~CXComboList();
|
|
|
|
// Attributes
|
|
public:
|
|
|
|
// Operations
|
|
public:
|
|
void SetActive(int nScrollBarWidth);
|
|
|
|
int AddString(LPCTSTR lpszItem)
|
|
{
|
|
return m_ListBox.AddString(lpszItem);
|
|
}
|
|
int GetCount()
|
|
{
|
|
return m_ListBox.GetCount();
|
|
}
|
|
void GetText(int nIndex, CString& rString)
|
|
{
|
|
m_ListBox.GetText(nIndex, rString);
|
|
}
|
|
int FindStringExact(int nIndexStart, LPCTSTR lpszFind)
|
|
{
|
|
return m_ListBox.FindStringExact(nIndexStart, lpszFind);
|
|
}
|
|
int SetCurSel(int nSelect)
|
|
{
|
|
return m_ListBox.SetCurSel(nSelect);
|
|
}
|
|
int GetCurSel()
|
|
{
|
|
return m_ListBox.GetCurSel();
|
|
}
|
|
void SetFont(CFont* pFont, BOOL bRedraw = TRUE)
|
|
{
|
|
m_ListBox.SetFont(pFont, bRedraw);
|
|
}
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CXComboList)
|
|
public:
|
|
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
|
virtual CScrollBar* GetScrollBarCtrl(int nBar);
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
CListBox m_ListBox;
|
|
CScrollBar m_wndSBVert;
|
|
CWnd * m_pParent;
|
|
int m_nCount;
|
|
BOOL m_bFirstTime;
|
|
|
|
void SendRegisteredMessage(UINT nMsg, WPARAM wParam, LPARAM lParam);
|
|
|
|
// Generated message map functions
|
|
protected:
|
|
//{{AFX_MSG(CXComboList)
|
|
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
|
|
afx_msg void OnKillFocus(CWnd* pNewWnd);
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
|
afx_msg void OnDestroy();
|
|
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
|
//}}AFX_MSG
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif //XCOMBOLIST_H
|