Show the 'normal' overlay if not even the 'modified' overlay is available
[TortoiseGit.git] / ext / ResizableLib / ResizableComboLBox.h
blob352826e914d73c6e3bc0b3603a18016cfc20df74
1 #if !defined(AFX_RESIZABLECOMBOLBOX_H__INCLUDED_)
2 #define AFX_RESIZABLECOMBOLBOX_H__INCLUDED_
4 #if _MSC_VER > 1000
5 #pragma once
6 #endif // _MSC_VER > 1000
8 // ResizableComboLBox.h : header file
9 //
10 /////////////////////////////////////////////////////////////////////////////
12 // This file is part of ResizableLib
13 // http://sourceforge.net/projects/resizablelib
15 // Copyright (C) 2000-2004 by Paolo Messina
16 // http://www.geocities.com/ppescher - mailto:ppescher@hotmail.com
18 // The contents of this file are subject to the Artistic License (the "License").
19 // You may not use this file except in compliance with the License.
20 // You may obtain a copy of the License at:
21 // http://www.opensource.org/licenses/artistic-license.html
23 // If you find this code useful, credits would be nice!
25 /////////////////////////////////////////////////////////////////////////////
27 #include "ResizableGrip.h"
29 /////////////////////////////////////////////////////////////////////////////
30 // CResizableComboLBox window
32 class CResizableComboBox;
34 class CResizableComboLBox : public CWnd, public CResizableGrip
36 friend class CResizableComboBox;
38 // Construction
39 public:
40 CResizableComboLBox();
42 // Attributes
43 public:
45 // Operations
46 public:
48 // Overrides
49 // ClassWizard generated virtual function overrides
50 //{{AFX_VIRTUAL(CResizableComboLBox)
51 protected:
52 virtual void PreSubclassWindow();
53 virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
54 //}}AFX_VIRTUAL
56 // Implementation
57 public:
58 virtual ~CResizableComboLBox();
60 private:
61 CPoint m_ptBeforeSizing; // screen coords
62 CRect m_rcBeforeSizing; // screen coords
63 CSize m_sizeAfterSizing; // screen coords
64 LONG_PTR m_nHitTest; // current resize operation
65 BOOL m_bSizing;
67 void InitializeControl();
69 protected:
70 DWORD m_dwAddToStyle;
71 DWORD m_dwAddToStyleEx;
72 CSize m_sizeMin; // initial size (minimum)
73 CResizableComboBox* m_pOwnerCombo; // owner combobox
75 void ApplyLimitsToPos(WINDOWPOS* lpwndpos);
76 void EndSizing();
78 BOOL IsRTL();
80 virtual CWnd* GetResizableWnd() const
82 // make the layout know its parent window
83 return CWnd::FromHandle(m_hWnd);
86 // Generated message map functions
87 protected:
88 //{{AFX_MSG(CResizableComboLBox)
89 afx_msg void OnMouseMove(UINT nFlags, CPoint point);
90 afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
91 afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
92 #if _MSC_VER < 1400
93 afx_msg UINT OnNcHitTest(CPoint point);
94 #else
95 afx_msg LRESULT OnNcHitTest(CPoint point);
96 #endif
97 afx_msg void OnCaptureChanged(CWnd *pWnd);
98 afx_msg void OnWindowPosChanging(WINDOWPOS FAR* lpwndpos);
99 afx_msg void OnWindowPosChanged(WINDOWPOS FAR* lpwndpos);
100 //}}AFX_MSG
102 DECLARE_MESSAGE_MAP()
105 /////////////////////////////////////////////////////////////////////////////
107 //{{AFX_INSERT_LOCATION}}
108 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
110 #endif // !defined(AFX_RESIZABLECOMBOLBOX_H__INCLUDED_)