Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// BindsDlg.h : header file
//
/////////////////////////////////////////////////////////////////////////////
class CBingingRemoval : public CObject { public: // constructor
CBingingRemoval( CMDKey* pTargetKey, CString szTargetBinding ) : m_pTargetKey( pTargetKey ) { m_szTargetBinding = szTargetBinding; }
// remove the binding
inline void RemoveBinding(); CMDKey* m_pTargetKey; CString m_szTargetBinding; };
//--------------------------------------------------------
inline void CBingingRemoval::RemoveBinding() { // tell the key to remove the binding - easy!
m_pTargetKey->RemoveBinding( m_szTargetBinding ); // update the key's name
m_pTargetKey->m_fUpdateBindings = TRUE; }
/////////////////////////////////////////////////////////////////////////////
// CBindingsDlg dialog
class CBindingsDlg : public CDialog { // Construction
public: CBindingsDlg(WCHAR* pszw, CWnd* pParent = NULL); // standard constructor
virtual BOOL OnInitDialog();
// the base key that is being worked on
CMDKey* m_pKey;
// target machine
WCHAR* m_pszwMachineName;
// is a binding string already a part of the list in this dialog?
BOOL FContainsBinding( CString sz );
// add a binding to the list
void AddBinding( CString sz );
// a queue of bindings to be removed if the user says OK
CTypedPtrArray<CObArray, CBingingRemoval*> rgbRemovals;
// Dialog Data
//{{AFX_DATA(CBindingsDlg)
enum { IDD = IDD_BINDINGS }; CButton m_cbutton_delete; CButton m_cbutton_edit; CListSelRowCtrl m_clistctrl_list; //}}AFX_DATA
// CListCtrl m_clistctrl_list;
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CBindingsDlg)
protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CBindingsDlg)
afx_msg void OnAdd(); afx_msg void OnDelete(); afx_msg void OnEdit(); afx_msg void OnItemchangedList(NMHDR* pNMHDR, LRESULT* pResult); virtual void OnOK(); afx_msg void OnDblclkList(NMHDR* pNMHDR, LRESULT* pResult); //}}AFX_MSG
DECLARE_MESSAGE_MAP()
// initialize the list
void FillInBindings(); BOOL FInitList(); void UpdateBindingDisplay( DWORD iItem, CString szBinding );
// enable the buttons as appropriate
void EnableButtons();
// edit the selected binding, return a flag for OK
BOOL FEdit( CString &sz );
// return the index of the selected item - only one selection allowed
inline int GetSelectedIndex(); };
//--------------------------------------------------------
// return the index of the selected item - only one selection allowed
inline int CBindingsDlg::GetSelectedIndex() { return m_clistctrl_list.GetNextItem( -1, LVNI_SELECTED ); }
|