rlm@1: //////////////////////////////////////////////////////////////////////////////// rlm@1: // Copyright (C) 1998 by Thierry Maurel rlm@1: // All rights reserved rlm@1: // rlm@1: // Distribute freely, except: don't remove my name from the source or rlm@1: // documentation (don't take credit for my work), mark your changes (don't rlm@1: // get me blamed for your possible bugs), don't alter or remove this rlm@1: // notice. rlm@1: // No warrantee of any kind, express or implied, is included with this rlm@1: // software; use at your own risk, responsibility for damages (if any) to rlm@1: // anyone resulting from the use of this software rests entirely with the rlm@1: // user. rlm@1: // rlm@1: // Send bug reports, bug fixes, enhancements, requests, flames, etc., and rlm@1: // I'll try to keep a version up to date. I can be reached as follows: rlm@1: // tmaurel@caramail.com (or tmaurel@hol.fr) rlm@1: // rlm@1: //////////////////////////////////////////////////////////////////////////////// rlm@1: // File : CmdAccelOb.h rlm@1: // Project : AccelsEditor rlm@1: //////////////////////////////////////////////////////////////////////////////// rlm@1: // Version : 1.0 * Author : T.Maurel rlm@1: // Date : 17.08.98 rlm@1: // rlm@1: // Remarks : rlm@1: // rlm@1: //////////////////////////////////////////////////////////////////////////////// rlm@1: #ifndef __CMDACCEL_OB_INCLUDE rlm@1: #define __CMDACCEL_OB_INCLUDE rlm@1: rlm@1: #if _MSC_VER > 1000 rlm@1: #pragma once rlm@1: #endif // _MSC_VER > 1000 rlm@1: rlm@1: #include // MFC Templates extension rlm@1: rlm@1: //////////////////////////////////////////////////////////////////////// rlm@1: // rlm@1: // rlm@1: typedef struct tagMAPVIRTKEYS rlm@1: { rlm@1: WORD wKey; rlm@1: TCHAR szKey[15]; rlm@1: } MAPVIRTKEYS, *PMAPVIRTKEYS; rlm@1: rlm@1: //////////////////////////////////////////////////////////////////////// rlm@1: // rlm@1: // rlm@1: #define sizetable(table) (sizeof(table)/sizeof(table[0])) rlm@1: rlm@1: //////////////////////////////////////////////////////////////////////// rlm@1: // rlm@1: // rlm@1: class CAccelsOb : public CObject rlm@1: { rlm@1: public: rlm@1: CAccelsOb(); rlm@1: CAccelsOb(CAccelsOb*pFrom); rlm@1: CAccelsOb(BYTE cVirt, WORD wKey, bool bLocked = false); rlm@1: CAccelsOb(LPACCEL pACCEL); rlm@1: public: rlm@1: CAccelsOb & operator=(const CAccelsOb& from); rlm@1: rlm@1: void GetString(CString& szBuffer); rlm@1: bool IsEqual(WORD wKey, bool bCtrl, bool bAlt, bool bShift); rlm@1: DWORD GetData(); rlm@1: bool SetData(DWORD dwDatas); rlm@1: public: rlm@1: #ifdef _DEBUG rlm@1: virtual void AssertValid() const; rlm@1: virtual void Dump(CDumpContext& dc) const; rlm@1: #endif rlm@1: public: rlm@1: BYTE m_cVirt; rlm@1: WORD m_wKey; rlm@1: bool m_bLocked; rlm@1: }; rlm@1: rlm@1: ////////////////////////////////////////////////////////////////////// rlm@1: // rlm@1: // rlm@1: class CCmdAccelOb : public CObject rlm@1: { rlm@1: public: rlm@1: CCmdAccelOb(); rlm@1: CCmdAccelOb(WORD wIDCommand, LPCTSTR szCommand); rlm@1: CCmdAccelOb(BYTE cVirt, WORD wIDCommand, WORD wKey, LPCTSTR szCommand, bool bLocked = false); rlm@1: ~CCmdAccelOb(); rlm@1: public: rlm@1: void Add(CAccelsOb*pAccel); rlm@1: void Add(BYTE cVirt, WORD wKey, bool bLocked = false); rlm@1: void Reset(); rlm@1: void DeleteUserAccels(); rlm@1: rlm@1: CCmdAccelOb & operator=(const CCmdAccelOb& from); rlm@1: public: rlm@1: #ifdef _DEBUG rlm@1: virtual void AssertValid() const; rlm@1: virtual void Dump(CDumpContext& dc) const; rlm@1: #endif rlm@1: public: rlm@1: WORD m_wIDCommand; rlm@1: CString m_szCommand; rlm@1: rlm@1: CList< CAccelsOb *, CAccelsOb * & > m_Accels; rlm@1: }; rlm@1: rlm@1: //////////////////////////////////////////////////////////////////////// rlm@1: #endif // __CMDACCEL_OB_INCLUDE rlm@1: