www.pudn.com > vc开发的精美界面.zip > BCGKeyboardManager.h
//******************************************************************************* // COPYRIGHT NOTES // --------------- // This source code is a part of BCGControlBar library. // You may use, compile or redistribute it as part of your application // for free. You cannot redistribute it as a part of a software development // library without the agreement of the author. If the sources are // distributed along with the application, you should leave the original // copyright notes in the source code without any changes. // This code can be used WITHOUT ANY WARRANTIES on your own risk. // // For the latest updates to this library, check my site: // http://welcome.to/bcgsoft // // Stas Levin//******************************************************************************* // BCGKeyboardManager.h: interface for the CBCGKeyboardManager class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_BCGKEYBOARDMANAGER_H__916B7A45_556A_11D2_B110_FD3F2C81B152__INCLUDED_) #define AFX_BCGKEYBOARDMANAGER_H__916B7A45_556A_11D2_B110_FD3F2C81B152__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #ifndef __AFXTEMPL_H__ #include "afxtempl.h" #endif #include "bcgcontrolbar.h" class BCGCONTROLBARDLLEXPORT CBCGKeyboardManager : public CObject { friend class _KBD_TERM; // Constructor/Destructor: public: CBCGKeyboardManager(); virtual ~CBCGKeyboardManager(); // Operattion: public: BOOL LoadState (LPCTSTR lpszProfileName = NULL, CFrameWnd* pDefaultFrame = NULL); BOOL SaveState (LPCTSTR lpszProfileName = NULL, CFrameWnd* pDefaultFrame = NULL); BOOL UpdateAcellTable (CMultiDocTemplate* pTemplate, LPACCEL lpAccel, int nSize, CFrameWnd* pDefaultFrame = NULL); BOOL UpdateAcellTable (CMultiDocTemplate* pTemplate, HACCEL hAccelNew, CFrameWnd* pDefaultFrame = NULL); void ResetAll (); static BOOL FindDefaultAccelerator (UINT uiCmd, CString& str, CFrameWnd* pWndFrame, BOOL bIsDefaultFrame); protected: BOOL SaveAccelaratorState (LPCTSTR lpszProfileName, UINT uiResId, HACCEL hAccelTable); BOOL LoadAccelaratorState (LPCTSTR lpszProfileName, UINT uiResId, HACCEL& hAccelTable); static void SetAccelTable (LPACCEL& lpAccel, HACCEL& hAccelLast, int& nSize, const HACCEL hAccelCur); static LPACCEL m_lpAccelDefault; // Main frame acceleration table static LPACCEL m_lpAccel; // Child frame acceleration table static int m_nAccelDefaultSize; static int m_nAccelSize; static HACCEL m_hAccelDefaultLast; static HACCEL m_hAccelLast; }; extern CBCGKeyboardManager* g_pKeyboardManager; #endif // !defined(AFX_BCGKEYBOARDMANAGER_H__916B7A45_556A_11D2_B110_FD3F2C81B152__INCLUDED_)