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

📄 apbpropg.cpp

📁 一个完整的编辑器的代码(很值得参考
💻 CPP
字号:
#include "stdafx.h"
#include "resource.h"
#include "apbpropg.h"
#include "appbar.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#pragma warning ( disable : 4711 )
/////////////////////////////////////////////////////////////////////////////
// CAppBarPropPage property page

IMPLEMENT_DYNCREATE(CAppBarPropPage, CPropertyPage)

CAppBarPropPage::CAppBarPropPage () : CPropertyPage (CAppBarPropPage::IDD), m_pBar (NULL)
{
	//{{AFX_DATA_INIT(CAppBarPropPage)
	m_bDockable = FALSE;
	m_bDocked = FALSE;
	//}}AFX_DATA_INIT
}

CAppBarPropPage::~CAppBarPropPage ()
{
}

void CAppBarPropPage::
Init (CAppBar *pBar)
{
  m_pBar = pBar;
  m_bDockable = (m_pBar->m_dwFlags & ABS_DOCKABLE) == ABS_DOCKABLE;
  m_bDocked = !m_pBar->IsFloating ();
}

void CAppBarPropPage::
UpdateDockable ()
{
  m_ctlDocked.EnableWindow (m_bDockable);
}

void CAppBarPropPage::DoDataExchange (CDataExchange* pDX)
{
  CPropertyPage::DoDataExchange(pDX);
  //{{AFX_DATA_MAP(CAppBarPropPage)
  DDX_Control(pDX, IDC_DOCKED, m_ctlDocked);
  DDX_Check(pDX, IDC_DOCKABLE, m_bDockable);
  DDX_Check(pDX, IDC_DOCKED, m_bDocked);
  //}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP (CAppBarPropPage, CPropertyPage)
//{{AFX_MSG_MAP(CAppBarPropPage)
ON_BN_CLICKED (IDC_DOCKABLE, OnDockable)
ON_BN_CLICKED (IDC_DOCKED, OnDocked)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAppBarPropPage message handlers

BOOL CAppBarPropPage::
OnSetActive ()
{
  CPropertyPage::OnSetActive (); // inicializovat podle p-edka
  UpdateData (FALSE);            // data z dialogu do prom鴑n癱h
  UpdateDockable ();
  return TRUE;                  // return TRUE unless you set the focus to a control
  // EXCEPTION: OCX Property Pages should return FALSE
}

void CAppBarPropPage::
OnOK ()
{
  CPropertyPage::OnOK ();
  if ((!m_bDocked || !m_bDockable) && !m_pBar->IsFloating ())
    {
      m_pBar->ToggleDocking ();
      AfxGetMainFrame ()->RecalcLayout (FALSE);
    }
  if (m_bDockable)
    {
      if (!(m_pBar->m_dwFlags & ABS_DOCKABLE))
        {
          m_pBar->EnableDocking (CBRS_ALIGN_ANY);
          m_pBar->m_dwFlags |= ABS_DOCKABLE;
        }
      if (m_bDocked && m_pBar->IsFloating ())
        {
          m_pBar->ToggleDocking ();
          AfxGetMainFrame ()->RecalcLayout (FALSE);
        }
    }
  else
    {
      if (m_pBar->m_dwFlags & ABS_DOCKABLE)
        {
          m_pBar->EnableDocking (0);
          m_pBar->m_dwFlags &= ~ABS_DOCKABLE;
        }
    }
}

void CAppBarPropPage::OnDockable() 
{
  UpdateData (TRUE);
  UpdateDockable ();
  UpdateData (FALSE);
  SetModified ();
}

void CAppBarPropPage::OnDocked() 
{
  SetModified ();
}

/////////////////////////////////////////////////////////////////////////////
#pragma warning ( default : 4711 )

⌨️ 快捷键说明

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