2025-11-27 16:46:48 +09:00

81 lines
2.2 KiB
C++

// ComboOXTree.h: interface for the CComboOXTree class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_COMBOOXTREE_H__35306228_1C37_11D4_AD1F_0050BAAB46B1__INCLUDED_)
#define AFX_COMBOOXTREE_H__35306228_1C37_11D4_AD1F_0050BAAB46B1__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "OXTreeCtrl.h"
#include "OXComboPickerCtrl.h"
class CComboOXTree : public COXTreeCtrl , public COXComboDropDown
{
public:
CComboOXTree();
virtual ~CComboOXTree();
protected:
COXDropDownContainer m_container;
COXComboPickerCtrl* m_pCombo;
// helper rectangle for flicker-free control
CRect m_rectValid;
// last selected item
HTREEITEM m_hLastSelectedItem;
public:
void ForwardMouseMessage(UINT message, UINT nFlags, CPoint point);
protected:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
void OnLButtonDblClk( UINT nFlags, CPoint point );
public:
virtual void SetOwnerCombo(COXComboPickerCtrl* pCombo) { m_pCombo=pCombo; }
inline COXComboPickerCtrl* GetOwnerCombo() const { return m_pCombo; }
virtual BOOL CanSelectItem(HTREEITEM hItem);
virtual COXDropDownContainer* GetContainer() { return &m_container; }
virtual CWnd* GetWindow() { return this; }
virtual void ShowDropDown(BOOL bShowIt=TRUE);
virtual void GetDroppedControlRect(LPRECT lprect) const;
virtual BOOL GetDroppedState() const;
virtual CRect GetBestRect();
virtual int GetItemHeight();
virtual BOOL IsThereSelectedItem();
virtual CImageList* GetSelectedItemImage();
virtual CString GetSelectedItemText();
virtual CFont* GetSelectedItemFont();
virtual COLORREF GetSelectedItemTextColor();
virtual void ResetContent();
virtual BOOL NeedFocus() const { return TRUE; }
virtual void OnAttachToComboPicker();
virtual void OnChangeMinMaxWidthHeight();
virtual void OnChangeOwnerComboSize();
protected:
virtual void AutoResize();
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
virtual void OnKillFocus(CWnd* pNewWnd);
virtual void OnLButtonDown(UINT nFlags, CPoint point);
virtual void OnMouseMove(UINT nFlags, CPoint point);
virtual void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
};
#endif // !defined(AFX_COMBOOXTREE_H__35306228_1C37_11D4_AD1F_0050BAAB46B1__INCLUDED_)