#if !defined(AFX_PROPERTIESADVANCED_H__41C61B2B_97BA_4015_8F1E_CA65AC628E42__INCLUDED_)
#define AFX_PROPERTIESADVANCED_H__41C61B2B_97BA_4015_8F1E_CA65AC628E42__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// PropertiesAdvanced.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CPropertiesAdvanced dialog
class CPropertiesAdvanced : public CPropertyPage
{
DECLARE_DYNCREATE(CPropertiesAdvanced)
// Construction
public:
void EnableControl();
void GetDialogData();
void SetDialogData(CString szApplicationName);
CPropertiesAdvanced();
~CPropertiesAdvanced();
// Dialog Data
//{{AFX_DATA(CPropertiesAdvanced)
enum { IDD = IDD_PROPERTIES_ADVANCED };
CStatic m_cCurrentlyAssigned;
CButton m_cResetAll;
CButton m_cRemove;
CEdit m_cNewKey;
CStatic m_cDescription;
CListBox m_cCurrentKeys;
CListBox m_cCommands;
CComboBox m_cCategory;
CButton m_cAssign;
BOOL m_bEnableCUA;
//}}AFX_DATA
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CPropertiesAdvanced)
public:
virtual BOOL OnSetActive();
virtual BOOL OnKillActive();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CPropertiesAdvanced)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
virtual BOOL OnInitDialog();
afx_msg void OnSelchangeCategory();
afx_msg void OnSelchangeCommands();
afx_msg void OnSelchangeCurrentKeys();
afx_msg void OnSetfocusNewKey();
afx_msg void OnAssign();
afx_msg void OnRemove();
afx_msg void OnResetAll();
afx_msg void OnCX();
afx_msg void OnKillfocusNewKey();
afx_msg void OnEnableCua();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
static int m_nApplicationID;
static BOOL IsFooDown(CString szCommandName);
static BOOL IsShiftDown();
static BOOL IsMetaDown();
static BOOL IsCtrlDown();
void InitCommandIDs();
static void SetCommandID(int nCommandType, int nKey, int nCommandID);
static int m_nCommandIDs[MAX_COMMAND_TYPE][MAX_KEY];
static void SetNewKey();
static int m_nAssignKey;
static int m_nAssignCommandType;
static BOOL m_bShift;
static BOOL m_bM;
static BOOL m_bC;
static BOOL m_bC_x;
static LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam);
static HHOOK m_hKeyboardHook;
static CListBox * m_pCurrentKeys;
static CStatic * m_pCurrentlyAssigned;
static CButton * m_pAssign;
static CEdit * m_pNewKey;
int m_nRemoveKey;
int m_nRemoveCommandType;
void ClearNewKey();
static int m_nCommandID;
void SetCurrentKeys();
void SetCommands();
void InitCategoryList();
CProperties* m_pProperties;
void UpdateDialogData(CString szApplicationName, BOOL bSaveAndValidate = TRUE);
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_PROPERTIESADVANCED_H__41C61B2B_97BA_4015_8F1E_CA65AC628E42__INCLUDED_)