Workaround cannot operate with keyboard when MenuButton has only 1 entry
[TortoiseGit.git] / ext / ResizableLib / ResizableDialog.h
blobcb13db83b426195d52a8b1a7a14c2d206e2ab8c6
1 #if !defined(AFX_RESIZABLEDIALOG_H__INCLUDED_)
2 #define AFX_RESIZABLEDIALOG_H__INCLUDED_
4 #if _MSC_VER > 1000
5 #pragma once
6 #endif // _MSC_VER > 1000
8 // ResizableDialog.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 "ResizableLayout.h"
28 #include "ResizableGrip.h"
29 #include "ResizableMinMax.h"
30 #include "ResizableWndState.h"
32 /////////////////////////////////////////////////////////////////////////////
33 // CResizableDialog window
35 class CResizableDialog : public CDialog, public CResizableLayout,
36 public CResizableGrip, public CResizableMinMax,
37 public CResizableWndState
40 // Construction
41 public:
42 CResizableDialog();
43 CResizableDialog(UINT nIDTemplate, CWnd* pParentWnd = NULL);
44 CResizableDialog(LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL);
46 // Attributes
47 private:
48 // support for temporarily hiding the grip
49 DWORD m_dwGripTempState;
51 // flags
52 BOOL m_bEnableSaveRestore;
53 BOOL m_bRectOnly;
55 // internal status
56 CString m_sSection; // section name (identifies a parent window)
58 // Operations
59 public:
61 int AddOthersToAnchor();
62 // Overrides
63 // ClassWizard generated virtual function overrides
64 //{{AFX_VIRTUAL(CResizableDialog)
65 protected:
66 virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
67 //}}AFX_VIRTUAL
69 // Implementation
70 public:
71 virtual ~CResizableDialog();
73 // used internally
74 private:
75 void PrivateConstruct();
77 // callable from derived classes
78 protected:
79 // section to use in app's profile
80 void EnableSaveRestore(LPCTSTR pszSection, BOOL bRectOnly = FALSE);
82 virtual CWnd* GetResizableWnd() const
84 // make the layout know its parent window
85 return CWnd::FromHandle(m_hWnd);
88 // Generated message map functions
89 protected:
90 //{{AFX_MSG(CResizableDialog)
91 afx_msg void OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI);
92 afx_msg void OnSize(UINT nType, int cx, int cy);
93 afx_msg void OnDestroy();
94 afx_msg BOOL OnEraseBkgnd(CDC* pDC);
95 afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);
96 //}}AFX_MSG
97 DECLARE_MESSAGE_MAP()
100 /////////////////////////////////////////////////////////////////////////////
102 //{{AFX_INSERT_LOCATION}}
103 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
105 #endif // !defined(AFX_RESIZABLEDIALOG_H__INCLUDED_)