|
|
/*--------------------------------------------------------------------------*
* * Microsoft Windows * Copyright (C) Microsoft Corporation, 1992 - 1999 * * File: wrapper.h * * Contents: Interface file for simple wrapper classes * * History: 02-Feb-98 jeffro Created * *--------------------------------------------------------------------------*/
#ifndef WRAPPER_H
#define WRAPPER_H
/*----------------*/ /* HACCEL wrapper */ /*----------------*/ class CAccel : public CObject { public: HACCEL m_hAccel;
CAccel (HACCEL hAccel = NULL); CAccel (LPACCEL paccl, int cEntries); ~CAccel ();
bool CreateAcceleratorTable (LPACCEL paccl, int cEntries); int CopyAcceleratorTable (LPACCEL paccl, int cEntries) const; bool TranslateAccelerator (HWND hwnd, LPMSG pmsg) const; void DestroyAcceleratorTable ();
bool LoadAccelerators (int nAccelID); bool LoadAccelerators (LPCTSTR pszAccelName); bool LoadAccelerators (HINSTANCE hInst, LPCTSTR pszAccelName);
bool operator== (int i) const { ASSERT (i == NULL); return (m_hAccel == NULL); }
bool operator!= (int i) const { ASSERT (i == NULL); return (m_hAccel != NULL); }
operator HACCEL() const { return (m_hAccel); } };
/*---------------------------------*/ /* Begin/EndDeferWindowPos wrapper */ /*---------------------------------*/ class CDeferWindowPos { public: HDWP m_hdwp;
CDeferWindowPos (int cWindows = 0, bool fSynchronousPositioningForDebugging = false); ~CDeferWindowPos ();
bool Begin (int cWindows); bool End (); bool AddWindow (const CWnd* pwnd, const CRect& rect, DWORD dwFlags, const CWnd* pwndInsertAfter = NULL);
bool operator== (int i) const { ASSERT (i == NULL); return (m_hdwp == NULL); }
bool operator!= (int i) const { ASSERT (i == NULL); return (m_hdwp != NULL); }
operator HDWP() const { return (m_hdwp); }
private: const bool m_fSynchronousPositioningForDebugging;
};
/*-------------------*/ /* Rectangle helpers */ /*-------------------*/ class CWindowRect : public CRect { public: CWindowRect (const CWnd* pwnd) { if (pwnd != NULL) pwnd->GetWindowRect (this); else SetRectEmpty(); }
/*
* just forward other ctors */ CWindowRect(int l, int t, int r, int b) : CRect(l, t, r, b) {} CWindowRect(const RECT& srcRect) : CRect(srcRect) {} CWindowRect(LPCRECT lpSrcRect) : CRect(lpSrcRect) {} CWindowRect(POINT point, SIZE size) : CRect(point, size) {} CWindowRect(POINT topLeft, POINT bottomRight) : CRect(topLeft, bottomRight) {} };
class CClientRect : public CRect { public: CClientRect (const CWnd* pwnd) { if (pwnd != NULL) pwnd->GetClientRect (this); else SetRectEmpty(); }
/*
* just forward other ctors */ CClientRect(int l, int t, int r, int b) : CRect(l, t, r, b) {} CClientRect(const RECT& srcRect) : CRect(srcRect) {} CClientRect(LPCRECT lpSrcRect) : CRect(lpSrcRect) {} CClientRect(POINT point, SIZE size) : CRect(point, size) {} CClientRect(POINT topLeft, POINT bottomRight) : CRect(topLeft, bottomRight) {} };
/*+-------------------------------------------------------------------------*
* AMCGetSysColorBrush * * Returns a (temporary) MFC-friendly system color brush. *--------------------------------------------------------------------------*/
inline CBrush* AMCGetSysColorBrush (int nIndex) { return (CBrush::FromHandle (::GetSysColorBrush (nIndex))); }
#endif /* WRAPPER.H */
|