⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 orderer.h

📁 一个完整的编辑器的代码(很值得参考
💻 H
字号:

#ifndef __ORDERER_H__INCLUDED__
#define __ORDERER_H__INCLUDED__

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

/////////////////////////////////////////////////////////////////////////////

#define ORD_NONE            0x00000000
#define ORD_MOVE_X          0x00000001
#define ORD_MOVE_Y          0x00000002
#define ORD_MOVE            ( ORD_MOVE_X | ORD_MOVE_Y )
#define ORD_SIZE_X          0x00000004
#define ORD_SIZE_Y          0x00000008
#define ORD_SIZE            ( ORD_SIZE_X | ORD_SIZE_Y )
#define ORD_ZERO_LEFT       0x00000010
#define ORD_ZERO_TOP        0x00000020
#define ORD_ZERO_BEGIN      ( ORD_ZERO_LEFT | ORD_ZERO_TOP )
#define ORD_FULL_RIGHT      0x00000040
#define ORD_FULL_BOTTOM     0x00000080
#define ORD_FULL_END        ( ORD_FULL_RIGHT | ORD_FULL_BOTTOM )
#define ORD_WHOLE           ( ORD_ZERO_BEGIN | ORD_FULL_END )
#define ORD_SET_LEFT        0x00000100
#define ORD_SET_TOP         0x00000200
#define ORD_SET_RIGHT       0x00000400
#define ORD_SET_BOTTOM      0x00000800
#define ORD_SET_BEGIN       ( ORD_SET_LEFT | ORD_SET_TOP )
#define ORD_SET_END         ( ORD_SET_RIGHT | ORD_SET_BOTTOM )
#define ORD_SET_HORZ        ( ORD_SET_LEFT | ORD_SET_RIGHT )
#define ORD_SET_VERT        ( ORD_SET_TOP | ORD_SET_BOTTOM )
#define ORD_SET_RECT        ( ORD_SET_BEGIN | ORD_SET_END )
#define ORD_SET_WIDTH       0x00001000
#define ORD_SET_HEIGHT      0x00002000
#define ORD_SET_SIZE        ( ORD_SET_WIDTH | ORD_SET_HEIGHT )
#define ORD_SET_BACK_LEFT   0x00004000
#define ORD_SET_BACK_TOP    0x00008000
#define ORD_SET_BACK_RIGHT  0x00010000
#define ORD_SET_BACK_BOTTOM 0x00020000
#define ORD_SET_BACK_BEGIN  ( ORD_SET_BACK_LEFT | ORD_SET_BACK_TOP )
#define ORD_SET_BACK_END    ( ORD_SET_BACK_RIGHT | ORD_SET_BACK_BOTTOM )
#define ORD_SET_BACK_HORZ   ( ORD_SET_BACK_LEFT | ORD_SET_BACK_RIGHT )
#define ORD_SET_BACK_VERT   ( ORD_SET_BACK_TOP | ORD_SET_BACK_BOTTOM )
#define ORD_SET_BACK_RECT   ( ORD_SET_BACK_BEGIN | ORD_SET_BACK_END )

/////////////////////////////////////////////////////////////////////////////
// COrderer

class COrder
  {
public :
    Set (DWORD nType, LPRECT lpRect, HWND hRel);

    DWORD type;
    CRect rc;
    HWND wnd;
  };

#pragma warning ( disable : 4512 )
class COrderer
  {
    // Construction
public :
    COrderer ();
    virtual ~COrderer ();

    // Attributes
protected :
    CMap < HWND, HWND, COrder, const COrder & >m_lstWindows;
    CWnd *m_pWnd;

    // Operations
public :

    void AddChild (HWND hWnd, DWORD nType, LPRECT lpRect, HWND hRel);
    void RemoveAllChildren ();
    void RemoveChild (HWND hWnd);

    void OnSize (UINT nType, int cx, int cy);
  };
#pragma warning ( default : 4512 )

/////////////////////////////////////////////////////////////////////////////

#endif // __ORDERER_H__INCLUDED__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -