DragonNest/Third/XTToolkitPro/Samples/Utilities/CommandBarsDesigner/DialogAccelProperties.cpp

117 lines
2.9 KiB
C++
Raw Normal View History

2024-12-19 09:48:26 +08:00
// DialogAccelProperties.cpp : implementation file
//
// This file is a part of the XTREME TOOLKIT PRO MFC class library.
// (c)1998-2008 Codejock Software, All Rights Reserved.
//
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
// CONSENT OF CODEJOCK SOFTWARE.
//
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
// SINGLE COMPUTER.
//
// CONTACT INFORMATION:
// support@codejock.com
// http://www.codejock.com
//
/////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "commandbarsdesigner.h"
#include "DialogAccelProperties.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDialogAccelProperties dialog
CDialogAccelProperties::CDialogAccelProperties(CWnd* pParent /*=NULL*/)
: CDialog(CDialogAccelProperties::IDD, pParent),
m_wndAccel(((CMainFrame*)AfxGetMainWnd())->GetCommandBars()->GetShortcutManager())
{
//{{AFX_DATA_INIT(CDialogAccelProperties)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_lpAccel = NULL;
}
void CDialogAccelProperties::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDialogAccelProperties)
DDX_Control(pDX, IDC_EDIT_CAPTION, m_wndAccel);
DDX_Control(pDX, IDC_COMBO_ID, m_comboId);
DDX_CBString(pDX, IDC_COMBO_ID, m_strId);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDialogAccelProperties, CDialog)
//{{AFX_MSG_MAP(CDialogAccelProperties)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDialogAccelProperties message handlers
BOOL CDialogAccelProperties::OnInitDialog()
{
CDialog::OnInitDialog();
CResourceManager* pResourceManager = ((CMainFrame*)AfxGetMainWnd())->GetActiveEmbeddedFrame()->ResourceManager();
ASSERT(pResourceManager);
CMapResources* pResources = pResourceManager->GetResources();
POSITION pos = pResources->GetStartPosition();
while (pos)
{
CResourceInfo* pInfo;
CString strCaption;
pResources->GetNextAssoc(pos, strCaption, (CObject*&)pInfo);
int nIndex = m_comboId.AddString(strCaption);
if (m_strId == strCaption)
m_comboId.SetCurSel(nIndex);
}
if (m_lpAccel)
{
m_wndAccel.SetAccel(m_lpAccel);
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDialogAccelProperties::OnOK()
{
UpdateData();
if (m_strId.IsEmpty())
{
m_comboId.SetFocus();
return;
}
if (!m_wndAccel.IsKeyDefined())
{
m_wndAccel.SetFocus();
return;
}
CDialog::OnOK();
}