2011-11-22 21:28:15 +00:00
|
|
|
#if !defined(AFX_PROPTREEITEMCOMBO_H__9916BC6F_751F_4B15_996F_3C9F6334A259__INCLUDED_)
|
|
|
|
#define AFX_PROPTREEITEMCOMBO_H__9916BC6F_751F_4B15_996F_3C9F6334A259__INCLUDED_
|
|
|
|
|
|
|
|
#if _MSC_VER > 1000
|
|
|
|
#pragma once
|
|
|
|
#endif // _MSC_VER > 1000
|
|
|
|
// PropTreeItemCombo.h : header file
|
|
|
|
//
|
|
|
|
// Copyright (C) 1998-2001 Scott Ramsay
|
|
|
|
// sramsay@gonavi.com
|
|
|
|
// http://www.gonavi.com
|
|
|
|
//
|
|
|
|
// This material is provided "as is", with absolutely no warranty expressed
|
|
|
|
// or implied. Any use is at your own risk.
|
2011-12-06 18:20:15 +00:00
|
|
|
//
|
|
|
|
// Permission to use or copy this software for any purpose is hereby granted
|
2011-11-22 21:28:15 +00:00
|
|
|
// without fee, provided the above notices are retained on all copies.
|
|
|
|
// Permission to modify the code and to distribute modified code is granted,
|
|
|
|
// provided the above notices are retained, and a notice that the code was
|
|
|
|
// modified is included with the above copyright notice.
|
2011-12-06 18:20:15 +00:00
|
|
|
//
|
2011-11-22 21:28:15 +00:00
|
|
|
// If you use this code, drop me an email. I'd like to know if you find the code
|
|
|
|
// useful.
|
|
|
|
|
|
|
|
#include "PropTreeItem.h"
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// CPropTreeItemCombo window
|
|
|
|
|
|
|
|
class PROPTREE_API CPropTreeItemCombo : public CComboBox, public CPropTreeItem
|
|
|
|
{
|
|
|
|
// Construction
|
|
|
|
public:
|
|
|
|
CPropTreeItemCombo();
|
|
|
|
virtual ~CPropTreeItemCombo();
|
|
|
|
|
|
|
|
// Attributes
|
|
|
|
public:
|
|
|
|
// The attribute area needs drawing
|
|
|
|
virtual void DrawAttribute(CDC* pDC, const RECT& rc);
|
|
|
|
|
|
|
|
// Retrieve the item's attribute value
|
|
|
|
virtual LPARAM GetItemValue();
|
|
|
|
|
|
|
|
// Set the item's attribute value
|
|
|
|
virtual void SetItemValue(LPARAM lParam);
|
|
|
|
|
|
|
|
// Called when attribute area has changed size
|
|
|
|
virtual void OnMove();
|
|
|
|
|
|
|
|
// Called when the item needs to refresh its data
|
|
|
|
virtual void OnRefresh();
|
|
|
|
|
|
|
|
// Called when the item needs to commit its changes
|
|
|
|
virtual void OnCommit();
|
|
|
|
|
|
|
|
// Called to activate the item
|
|
|
|
virtual void OnActivate(int activateType, CPoint point);
|
|
|
|
|
|
|
|
// Create your combo box with your specified styles
|
|
|
|
BOOL CreateComboBox(DWORD dwStyle = WS_CHILD|WS_VSCROLL|CBS_SORT|CBS_DROPDOWNLIST);
|
|
|
|
|
|
|
|
// Create combo box with TRUE/FALSE selections
|
|
|
|
BOOL CreateComboBoxBool();
|
|
|
|
|
|
|
|
// Set the height for the dropdown combo box
|
|
|
|
void SetDropDownHeight(LONG nDropHeight);
|
|
|
|
|
|
|
|
// Get the height of the dropdown combo box
|
|
|
|
LONG GetDropDownHeight();
|
|
|
|
|
|
|
|
protected:
|
|
|
|
LPARAM m_lComboData;
|
|
|
|
LONG m_nDropHeight;
|
|
|
|
|
|
|
|
// Operations
|
|
|
|
protected:
|
|
|
|
LONG FindCBData(LPARAM lParam);
|
|
|
|
|
|
|
|
// Overrides
|
|
|
|
// ClassWizard generated virtual function overrides
|
|
|
|
//{{AFX_VIRTUAL(CPropTreeItemCombo)
|
|
|
|
//}}AFX_VIRTUAL
|
|
|
|
|
|
|
|
// Implementation
|
|
|
|
public:
|
|
|
|
|
|
|
|
// Generated message map functions
|
|
|
|
protected:
|
|
|
|
//{{AFX_MSG(CPropTreeItemCombo)
|
|
|
|
afx_msg void OnSelchange();
|
|
|
|
afx_msg void OnKillfocus();
|
|
|
|
//}}AFX_MSG
|
|
|
|
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
};
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
|
|
|
|
#endif // !defined(AFX_PROPTREEITEMCOMBO_H__9916BC6F_751F_4B15_996F_3C9F6334A259__INCLUDED_)
|