RTTools.h
上传用户:qhonly
上传日期:2013-06-10
资源大小:487k
文件大小:3k
- ///////////////////////////////////////////////////////////////////////////////
- //
- // Tools.h : header file
- //
- ///////////////////////////////////////////////////////////////////////////////
- #pragma once
- ///////////////////////////////////////////////////////////////////////////////
- // Usefull macros
- //
- #define KEYDOWN(Key) ((GetKeyState(Key)&0x8000)!=0)
- #define ON_WM_MOUSEOUT()
- { WM_MOUSELEAVE, 0, 0, 0, AfxSig_vv,
- (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(void))&OnMouseOut },
- #ifndef lengthof
- #define lengthof(a) (sizeof(a)/sizeof(a[0]))
- #endif
- ///////////////////////////////////////////////////////////////////////////////
- // Check if the specified window is child of a docked toolbar
- bool ChildOfDockedToolbar (CWnd* pWnd);
- /////////////////////////////////////////////////////////////////////////////
- // Constants for detecting OS-Type
- enum WinVer
- {
- wvUndefined,
- wvWin32s,
- wvWin95,
- wvWin98,
- wvWinME,
- wvWinNT3,
- wvWinNT4,
- wvWin2000,
- wvWinXP,
- };
- ///////////////////////////////////////////////////////////////////////////////
- // Return the current OS-Type
- //
- WinVer WINAPI GetWinVersion ();
- ///////////////////////////////////////////////////////////////////////////////
- inline void WINAPI ScreenToClient (HWND hWnd, LPRECT pRect)
- {
- ScreenToClient (hWnd, (LPPOINT)pRect);
- ScreenToClient (hWnd, ((LPPOINT)pRect)+1);
- }
- ///////////////////////////////////////////////////////////////////////////////
- inline void WINAPI ClientToScreen (HWND hWnd, LPRECT pRect)
- {
- ClientToScreen (hWnd, (LPPOINT)pRect);
- ClientToScreen (hWnd, ((LPPOINT)pRect)+1);
- }
- ///////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////
- class CClientRect : public CRect
- {
- public:
- CClientRect (HWND hWnd)
- {
- ::GetClientRect (hWnd, this);
- };
- CClientRect (const CWnd* pWnd)
- {
- ::GetClientRect (pWnd->GetSafeHwnd(), this);
- };
- };
- ///////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////
- class CWindowRect : public CRect
- {
- public:
- CWindowRect (HWND hWnd)
- {
- ::GetWindowRect (hWnd, this);
- };
- CWindowRect (const CWnd* pWnd)
- {
- ::GetWindowRect (pWnd->GetSafeHwnd(), this);
- };
- };
- ///////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////
- class CWindowText : public CString
- {
- public:
- CWindowText (HWND hWnd)
- {
- CWnd::FromHandle (hWnd)->GetWindowText (*this);
- };
- CWindowText (const CWnd* pWnd)
- {
- pWnd->GetWindowText (*this);
- };
- };
- ///////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////
- #define MMS_PAINT 0x0001
- #define MMS_NCPAINT 0x0002
- ///////////////////
- class CMouseMgr
- {
- public:
- CMouseMgr ();
- void Init (HWND hWnd, WORD wFlags = MMS_PAINT);
- bool MouseOver () const;
- bool OnMouseMove (HWND hTrack = NULL);
- bool OnMouseOut (HWND hTrack = NULL);
- protected:
- HWND m_hWnd;
- HWND m_hTrack;
- WORD m_wFlags;
- bool m_bOver;
- };