📄 cdxcdynamicdialog.h
字号:
#if !defined(AFX_CDXCDYNAMICDIALOG_H__E8F2A005_63C6_11D3_802B_000000000000__INCLUDED_)#define AFX_CDXCDYNAMICDIALOG_H__E8F2A005_63C6_11D3_802B_000000000000__INCLUDED_#if _MSC_VER >= 1000#pragma once#endif // _MSC_VER >= 1000// cdxCDynamicDialog.h : header file//#include "cdxCDynamicWndEx.h"/* * cdxCDynamicDialog * ================= * A new resizable dialog. * This should be the base-class for your normal dialogs. * This class supports: * - A sizing icon * - AutoPositioning (stores last position automatically and stuff) * - Anti-Flickering system. * - And of course, it provides * the Dynamic child control system DcCS by codex design */class cdxCDynamicDialog : public CDialog, public cdxCDynamicWndEx{ DECLARE_DYNAMIC(cdxCDynamicDialog);public: enum { flDefault = flAntiFlicker|flSizeIcon };public: cdxCDynamicDialog(UINT idd = 0, CWnd* pParent = NULL, Freedom fd = fdAll, UINT nFlags = flDefault); cdxCDynamicDialog(LPCTSTR lpszTemplateName, CWnd* pParent = NULL, Freedom fd = fdAll, UINT nFlags = flDefault); virtual ~cdxCDynamicDialog() { DoOnDestroy(); }public: virtual BOOL DestroyWindow();protected: virtual BOOL OnInitDialog(); afx_msg void OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI); afx_msg void OnDestroy(); afx_msg void OnParentNotify(UINT message, LPARAM lParam); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnSizing(UINT fwSide, LPRECT pRect); afx_msg void OnTimer(UINT nIDEvent); DECLARE_MESSAGE_MAP();};/* * cdxCDynamicChildDlg * =================== * Use this dialog class instead of cdxCDynamicDialog if * you create dialogs which you want to embedd as child * controls. * In that case, this dialog is far more straight forward. * This class provides: * - NO sizing icon * - NO auto anti-flickering (since the dialog itself won't be moved by hand) * - NO auto-positioning * - But of course, it provides * the Dynamic child control system DcCS by codex design */class cdxCDynamicChildDlg : public cdxCDynamicDialog{ DECLARE_DYNAMIC(cdxCDynamicChildDlg);public: enum { flDefault = flAntiFlicker };public: cdxCDynamicChildDlg(UINT idd = 0, CWnd* pParent = NULL, Freedom fd = fdAll, UINT nFlags = flDefault); cdxCDynamicChildDlg(LPCTSTR lpszTemplateName, CWnd* pParent = NULL, Freedom fd = fdAll, UINT nFlags = flDefault); virtual ~cdxCDynamicChildDlg() { DoOnDestroy(); }};/////////////////////////////////////////////////////////////////////////////// cdxCDynamicDialog Inlines/////////////////////////////////////////////////////////////////////////////inline cdxCDynamicDialog::cdxCDynamicDialog(UINT idd, CWnd* pParent, Freedom fd, UINT nFlags): CDialog(idd,pParent), cdxCDynamicWndEx(fd,nFlags){ if(idd) ActivateAutoPos(idd);}inline cdxCDynamicDialog::cdxCDynamicDialog(LPCTSTR lpszTemplateName, CWnd* pParent, Freedom fd, UINT nFlags): CDialog(lpszTemplateName,pParent), cdxCDynamicWndEx(fd,nFlags){ if(lpszTemplateName && *lpszTemplateName) ActivateAutoPos(lpszTemplateName);}/////////////////////////////////////////////////////////////////////////////// cdxCDynamicChildDlg Inlines/////////////////////////////////////////////////////////////////////////////inline cdxCDynamicChildDlg::cdxCDynamicChildDlg(UINT idd, CWnd* pParent, Freedom fd, UINT nFlags): cdxCDynamicDialog(idd,pParent,fd,nFlags){ m_bUseScrollPos = true; // if you create scollbars I will use them ;) NoAutoPos(); // not in this case....}inline cdxCDynamicChildDlg::cdxCDynamicChildDlg(LPCTSTR lpszTemplateName, CWnd* pParent, Freedom fd, UINT nFlags): cdxCDynamicDialog(lpszTemplateName,pParent,fd,nFlags){ m_bUseScrollPos = true; // if you create scollbars I will use them ;) NoAutoPos(); // not in this case....}//{{AFX_INSERT_LOCATION}}// Microsoft Developer Studio will insert additional declarations immediately before the previous line.#endif // !defined(AFX_CDXCDYNAMICDIALOG_H__E8F2A005_63C6_11D3_802B_000000000000__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -