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.
740 lines
36 KiB
740 lines
36 KiB
// Microsoft Foundation Classes C++ library.
|
|
// Copyright (C) 1992-1993 Microsoft Corporation,
|
|
// All rights reserved.
|
|
|
|
// This source code is only intended as a supplement to the
|
|
// Microsoft Foundation Classes Reference and Microsoft
|
|
// QuickHelp and/or WinHelp documentation provided with the library.
|
|
// See these sources for detailed information regarding the
|
|
// Microsoft Foundation Classes product.
|
|
|
|
// Inlines for AFXWIN.H (part 1)
|
|
|
|
#ifdef _AFXWIN_INLINE
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Global helper functions
|
|
#ifndef _AFXDLL
|
|
_AFXWIN_INLINE CWinApp* AFXAPI AfxGetApp()
|
|
{ return afxCurrentWinApp; }
|
|
_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetInstanceHandle()
|
|
{ ASSERT(afxCurrentInstanceHandle != NULL);
|
|
return afxCurrentInstanceHandle; }
|
|
_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetResourceHandle()
|
|
{ ASSERT(afxCurrentResourceHandle != NULL);
|
|
return afxCurrentResourceHandle; }
|
|
_AFXWIN_INLINE void AFXAPI AfxSetResourceHandle(HINSTANCE hInstResource)
|
|
{ ASSERT(hInstResource != NULL); afxCurrentResourceHandle = hInstResource; }
|
|
_AFXWIN_INLINE const char* AFXAPI AfxGetAppName()
|
|
{ ASSERT(afxCurrentAppName != NULL); return afxCurrentAppName; }
|
|
#else //_AFXDLL
|
|
_AFXWIN_INLINE CWinApp* AFXAPI AfxGetApp()
|
|
{ return _AfxGetAppData()->appCurrentWinApp; }
|
|
_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetInstanceHandle()
|
|
{ ASSERT(_AfxGetAppData()->appCurrentInstanceHandle != NULL);
|
|
return _AfxGetAppData()->appCurrentInstanceHandle; }
|
|
_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetResourceHandle()
|
|
{ ASSERT(_AfxGetAppData()->appCurrentResourceHandle != NULL);
|
|
return _AfxGetAppData()->appCurrentResourceHandle; }
|
|
_AFXWIN_INLINE void AFXAPI AfxSetResourceHandle(HINSTANCE hInstResource)
|
|
{ ASSERT(hInstResource != NULL);
|
|
_AfxGetAppData()->appCurrentResourceHandle = hInstResource; }
|
|
_AFXWIN_INLINE const char* AFXAPI AfxGetAppName()
|
|
{ ASSERT(_AfxGetAppData()->appCurrentAppName != NULL);
|
|
return _AfxGetAppData()->appCurrentAppName; }
|
|
#ifdef _AFXCTL
|
|
_AFXWIN_INLINE AFX_MAINTAIN_STATE::AFX_MAINTAIN_STATE(AFX_APPDATA_MODULE* psData)
|
|
{ m_psPrevious = AfxPushModuleContext(psData); }
|
|
_AFXWIN_INLINE AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()
|
|
{ if (m_psPrevious != NULL)
|
|
AfxPopModuleContext(m_psPrevious); }
|
|
#endif
|
|
#endif //_AFXDLL
|
|
|
|
#ifdef _AFXCTL
|
|
_AFXWIN_INLINE CWnd* AFXAPI AfxGetMainWnd()
|
|
{ HWND hwnd = ::GetActiveWindow();
|
|
return (hwnd != NULL && GetWindowTask(hwnd) == GetCurrentTask()) ?
|
|
CWnd::FromHandle(hwnd) : NULL; }
|
|
#else
|
|
_AFXWIN_INLINE CWnd* AFXAPI AfxGetMainWnd()
|
|
{ return AfxGetApp() != NULL ? AfxGetApp()->GetMainWnd() : NULL; }
|
|
#endif
|
|
_AFXWIN_INLINE COleMessageFilter* AFXAPI AfxOleGetMessageFilter()
|
|
{ ASSERT_VALID(AfxGetApp()); return AfxGetApp()->m_pMessageFilter; }
|
|
|
|
// CSize
|
|
_AFXWIN_INLINE CSize::CSize()
|
|
{ /* random filled */ }
|
|
_AFXWIN_INLINE CSize::CSize(int initCX, int initCY)
|
|
{ cx = initCX; cy = initCY; }
|
|
_AFXWIN_INLINE CSize::CSize(SIZE initSize)
|
|
{ *(SIZE*)this = initSize; }
|
|
_AFXWIN_INLINE CSize::CSize(POINT initPt)
|
|
{ *(POINT*)this = initPt; }
|
|
_AFXWIN_INLINE CSize::CSize(DWORD dwSize)
|
|
{ *(DWORD*)this = dwSize; }
|
|
_AFXWIN_INLINE BOOL CSize::operator==(SIZE size) const
|
|
{ return (cx == size.cx && cy == size.cy); }
|
|
_AFXWIN_INLINE BOOL CSize::operator!=(SIZE size) const
|
|
{ return (cx != size.cx || cy != size.cy); }
|
|
_AFXWIN_INLINE void CSize::operator+=(SIZE size)
|
|
{ cx += size.cx; cy += size.cy; }
|
|
_AFXWIN_INLINE void CSize::operator-=(SIZE size)
|
|
{ cx -= size.cx; cy -= size.cy; }
|
|
_AFXWIN_INLINE CSize CSize::operator+(SIZE size) const
|
|
{ return CSize(cx + size.cx, cy + size.cy); }
|
|
_AFXWIN_INLINE CSize CSize::operator-(SIZE size) const
|
|
{ return CSize(cx - size.cx, cy - size.cy); }
|
|
_AFXWIN_INLINE CSize CSize::operator-() const
|
|
{ return CSize(-cx, -cy); }
|
|
|
|
// CPoint
|
|
_AFXWIN_INLINE CPoint::CPoint()
|
|
{ /* random filled */ }
|
|
_AFXWIN_INLINE CPoint::CPoint(int initX, int initY)
|
|
{ x = initX; y = initY; }
|
|
_AFXWIN_INLINE CPoint::CPoint(POINT initPt)
|
|
{ *(POINT*)this = initPt; }
|
|
_AFXWIN_INLINE CPoint::CPoint(SIZE initSize)
|
|
{ *(SIZE*)this = initSize; }
|
|
_AFXWIN_INLINE CPoint::CPoint(DWORD dwPoint)
|
|
{ *(DWORD*)this = dwPoint; }
|
|
_AFXWIN_INLINE void CPoint::Offset(int xOffset, int yOffset)
|
|
{ x += xOffset; y += yOffset; }
|
|
_AFXWIN_INLINE void CPoint::Offset(POINT point)
|
|
{ x += point.x; y += point.y; }
|
|
_AFXWIN_INLINE void CPoint::Offset(SIZE size)
|
|
{ x += size.cx; y += size.cy; }
|
|
_AFXWIN_INLINE BOOL CPoint::operator==(POINT point) const
|
|
{ return (x == point.x && y == point.y); }
|
|
_AFXWIN_INLINE BOOL CPoint::operator!=(POINT point) const
|
|
{ return (x != point.x || y != point.y); }
|
|
_AFXWIN_INLINE void CPoint::operator+=(SIZE size)
|
|
{ x += size.cx; y += size.cy; }
|
|
_AFXWIN_INLINE void CPoint::operator-=(SIZE size)
|
|
{ x -= size.cx; y -= size.cy; }
|
|
_AFXWIN_INLINE CPoint CPoint::operator+(SIZE size) const
|
|
{ return CPoint(x + size.cx, y + size.cy); }
|
|
_AFXWIN_INLINE CPoint CPoint::operator-(SIZE size) const
|
|
{ return CPoint(x - size.cx, y - size.cy); }
|
|
_AFXWIN_INLINE CPoint CPoint::operator-() const
|
|
{ return CPoint(-x, -y); }
|
|
_AFXWIN_INLINE CSize CPoint::operator-(POINT point) const
|
|
{ return CSize(x - point.x, y - point.y); }
|
|
|
|
|
|
// CRect
|
|
_AFXWIN_INLINE CRect::CRect()
|
|
{ /* random filled */ }
|
|
_AFXWIN_INLINE CRect::CRect(int l, int t, int r, int b)
|
|
{ left = l; top = t; right = r; bottom = b; }
|
|
_AFXWIN_INLINE CRect::CRect(const RECT& srcRect)
|
|
{ ::CopyRect(this, &srcRect); }
|
|
_AFXWIN_INLINE CRect::CRect(LPCRECT lpSrcRect)
|
|
{ ::CopyRect(this, lpSrcRect); }
|
|
_AFXWIN_INLINE CRect::CRect(POINT point, SIZE size)
|
|
{ right = (left = point.x) + size.cx; bottom = (top = point.y) + size.cy; }
|
|
_AFXWIN_INLINE int CRect::Width() const
|
|
{ return right - left; }
|
|
_AFXWIN_INLINE int CRect::Height() const
|
|
{ return bottom - top; }
|
|
_AFXWIN_INLINE CSize CRect::Size() const
|
|
{ return CSize(right - left, bottom - top); }
|
|
_AFXWIN_INLINE CPoint& CRect::TopLeft()
|
|
{ return *((CPoint*)this); }
|
|
_AFXWIN_INLINE CPoint& CRect::BottomRight()
|
|
{ return *((CPoint*)this+1); }
|
|
_AFXWIN_INLINE CRect::operator LPRECT()
|
|
{ return this; }
|
|
_AFXWIN_INLINE CRect::operator LPCRECT() const
|
|
{ return this; }
|
|
_AFXWIN_INLINE BOOL CRect::IsRectEmpty() const
|
|
{ return ::IsRectEmpty(this); }
|
|
_AFXWIN_INLINE BOOL CRect::IsRectNull() const
|
|
{ return (left == 0 && right == 0 && top == 0 && bottom == 0); }
|
|
_AFXWIN_INLINE BOOL CRect::PtInRect(POINT point) const
|
|
{ return ::PtInRect(this, point); }
|
|
_AFXWIN_INLINE void CRect::SetRect(int x1, int y1, int x2, int y2)
|
|
{ ::SetRect(this, x1, y1, x2, y2); }
|
|
_AFXWIN_INLINE void CRect::SetRectEmpty()
|
|
{ ::SetRectEmpty(this); }
|
|
_AFXWIN_INLINE void CRect::CopyRect(LPCRECT lpSrcRect)
|
|
{ ::CopyRect(this, lpSrcRect); }
|
|
_AFXWIN_INLINE BOOL CRect::EqualRect(LPCRECT lpRect) const
|
|
{ return ::EqualRect(this, lpRect); }
|
|
_AFXWIN_INLINE void CRect::InflateRect(int x, int y)
|
|
{ ::InflateRect(this, x, y); }
|
|
_AFXWIN_INLINE void CRect::InflateRect(SIZE size)
|
|
{ ::InflateRect(this, size.cx, size.cy); }
|
|
_AFXWIN_INLINE void CRect::OffsetRect(int x, int y)
|
|
{ ::OffsetRect(this, x, y); }
|
|
_AFXWIN_INLINE void CRect::OffsetRect(POINT point)
|
|
{ ::OffsetRect(this, point.x, point.y); }
|
|
_AFXWIN_INLINE void CRect::OffsetRect(SIZE size)
|
|
{ ::OffsetRect(this, size.cx, size.cy); }
|
|
_AFXWIN_INLINE BOOL CRect::IntersectRect(LPCRECT lpRect1, LPCRECT lpRect2)
|
|
{ return ::IntersectRect(this, lpRect1, lpRect2);}
|
|
_AFXWIN_INLINE BOOL CRect::UnionRect(LPCRECT lpRect1, LPCRECT lpRect2)
|
|
{ return ::UnionRect(this, lpRect1, lpRect2); }
|
|
_AFXWIN_INLINE void CRect::operator=(const RECT& srcRect)
|
|
{ ::CopyRect(this, &srcRect); }
|
|
_AFXWIN_INLINE BOOL CRect::operator==(const RECT& rect) const
|
|
{ return ::EqualRect(this, &rect); }
|
|
_AFXWIN_INLINE BOOL CRect::operator!=(const RECT& rect) const
|
|
{ return !::EqualRect(this, &rect); }
|
|
_AFXWIN_INLINE void CRect::operator+=(POINT point)
|
|
{ ::OffsetRect(this, point.x, point.y); }
|
|
_AFXWIN_INLINE void CRect::operator-=(POINT point)
|
|
{ ::OffsetRect(this, -point.x, -point.y); }
|
|
_AFXWIN_INLINE void CRect::operator&=(const RECT& rect)
|
|
{ ::IntersectRect(this, this, &rect); }
|
|
_AFXWIN_INLINE void CRect::operator|=(const RECT& rect)
|
|
{ ::UnionRect(this, this, &rect); }
|
|
_AFXWIN_INLINE CRect CRect::operator+(POINT pt) const
|
|
{ CRect rect(*this); ::OffsetRect(&rect, pt.x, pt.y); return rect; }
|
|
_AFXWIN_INLINE CRect CRect::operator-(POINT pt) const
|
|
{ CRect rect(*this); ::OffsetRect(&rect, -pt.x, -pt.y); return rect; }
|
|
_AFXWIN_INLINE CRect CRect::operator&(const RECT& rect2) const
|
|
{ CRect rect; ::IntersectRect(&rect, this, &rect2);
|
|
return rect; }
|
|
_AFXWIN_INLINE CRect CRect::operator|(const RECT& rect2) const
|
|
{ CRect rect; ::UnionRect(&rect, this, &rect2);
|
|
return rect; }
|
|
#if (WINVER >= 0x030a)
|
|
_AFXWIN_INLINE BOOL CRect::SubtractRect(LPCRECT lpRectSrc1, LPCRECT lpRectSrc2)
|
|
{ return ::SubtractRect(this, lpRectSrc1, lpRectSrc2); }
|
|
#endif // WINVER >= 0x030a
|
|
|
|
// CArchive output helpers
|
|
_AFXWIN_INLINE CArchive& AFXAPI operator<<(CArchive& ar, SIZE size)
|
|
{ ar.Write(&size, sizeof(SIZE));
|
|
return ar; }
|
|
_AFXWIN_INLINE CArchive& AFXAPI operator<<(CArchive& ar, POINT point)
|
|
{ ar.Write(&point, sizeof(POINT));
|
|
return ar; }
|
|
_AFXWIN_INLINE CArchive& AFXAPI operator<<(CArchive& ar, const RECT& rect)
|
|
{ ar.Write(&rect, sizeof(RECT));
|
|
return ar; }
|
|
_AFXWIN_INLINE CArchive& AFXAPI operator>>(CArchive& ar, SIZE& size)
|
|
{ ar.Read(&size, sizeof(SIZE));
|
|
return ar; }
|
|
_AFXWIN_INLINE CArchive& AFXAPI operator>>(CArchive& ar, POINT& point)
|
|
{ ar.Read(&point, sizeof(POINT));
|
|
return ar; }
|
|
_AFXWIN_INLINE CArchive& AFXAPI operator>>(CArchive& ar, RECT& rect)
|
|
{ ar.Read(&rect, sizeof(RECT));
|
|
return ar; }
|
|
|
|
|
|
// exception support
|
|
_AFXWIN_INLINE CResourceException::CResourceException()
|
|
{ }
|
|
_AFXWIN_INLINE CUserException::CUserException()
|
|
{ }
|
|
|
|
// CString support (windows specific)
|
|
_AFXWIN_INLINE int CString::Compare(const char* psz) const
|
|
{ return lstrcmp(m_pchData, psz); }
|
|
_AFXWIN_INLINE int CString::CompareNoCase(const char* psz) const
|
|
{ return lstrcmpi(m_pchData, psz); }
|
|
_AFXWIN_INLINE int CString::Collate(const char* psz) const
|
|
{ return lstrcmp(m_pchData, psz); } // lstrcmp does correct sort order
|
|
_AFXWIN_INLINE void CString::MakeUpper()
|
|
{ ::AnsiUpper(m_pchData); }
|
|
_AFXWIN_INLINE void CString::MakeLower()
|
|
{ ::AnsiLower(m_pchData); }
|
|
|
|
// CGdiObject
|
|
_AFXWIN_INLINE HGDIOBJ CGdiObject::GetSafeHandle() const
|
|
{ return this == NULL ? NULL : m_hObject; }
|
|
_AFXWIN_INLINE CGdiObject::CGdiObject()
|
|
{ m_hObject = NULL; }
|
|
_AFXWIN_INLINE int CGdiObject::GetObject(int nCount, LPVOID lpObject) const
|
|
{ return ::GetObject(m_hObject, nCount, lpObject); }
|
|
_AFXWIN_INLINE BOOL CGdiObject::CreateStockObject(int nIndex)
|
|
{ return (m_hObject = ::GetStockObject(nIndex)) != NULL; }
|
|
_AFXWIN_INLINE BOOL CGdiObject::UnrealizeObject()
|
|
{ return ::UnrealizeObject(m_hObject); }
|
|
|
|
// CPen
|
|
_AFXWIN_INLINE CPen* PASCAL CPen::FromHandle(HPEN hPen)
|
|
{ return (CPen*) CGdiObject::FromHandle(hPen); }
|
|
_AFXWIN_INLINE CPen::CPen()
|
|
{ }
|
|
_AFXWIN_INLINE BOOL CPen::CreatePen(int nPenStyle, int nWidth, COLORREF crColor)
|
|
{ return Attach(::CreatePen(nPenStyle, nWidth, crColor)); }
|
|
_AFXWIN_INLINE BOOL CPen::CreatePenIndirect(LPLOGPEN lpLogPen)
|
|
{ return Attach(::CreatePenIndirect(lpLogPen)); }
|
|
|
|
// CBrush
|
|
_AFXWIN_INLINE CBrush* PASCAL CBrush::FromHandle(HBRUSH hBrush)
|
|
{ return (CBrush*) CGdiObject::FromHandle(hBrush); }
|
|
_AFXWIN_INLINE CBrush::CBrush()
|
|
{ }
|
|
_AFXWIN_INLINE BOOL CBrush::CreateSolidBrush(COLORREF crColor)
|
|
{ return Attach(::CreateSolidBrush(crColor)); }
|
|
_AFXWIN_INLINE BOOL CBrush::CreateHatchBrush(int nIndex, COLORREF crColor)
|
|
{ return Attach(::CreateHatchBrush(nIndex, crColor)); }
|
|
_AFXWIN_INLINE BOOL CBrush::CreateBrushIndirect(LPLOGBRUSH lpLogBrush)
|
|
{ return Attach(::CreateBrushIndirect(lpLogBrush)); }
|
|
_AFXWIN_INLINE BOOL CBrush::CreateDIBPatternBrush(HGLOBAL hPackedDIB, UINT nUsage)
|
|
{ return Attach(::CreateDIBPatternBrush(hPackedDIB, nUsage)); }
|
|
_AFXWIN_INLINE BOOL CBrush::CreatePatternBrush(CBitmap* pBitmap)
|
|
{ return Attach(::CreatePatternBrush((HBITMAP)pBitmap->GetSafeHandle())); }
|
|
|
|
// CFont
|
|
_AFXWIN_INLINE CFont* PASCAL CFont::FromHandle(HFONT hFont)
|
|
{ return (CFont*) CGdiObject::FromHandle(hFont); }
|
|
_AFXWIN_INLINE CFont::CFont()
|
|
{ }
|
|
_AFXWIN_INLINE BOOL CFont::CreateFontIndirect(const LOGFONT FAR* lpLogFont)
|
|
{ return Attach(::CreateFontIndirect(lpLogFont)); }
|
|
_AFXWIN_INLINE BOOL CFont::CreateFont(int nHeight, int nWidth, int nEscapement,
|
|
int nOrientation, int nWeight, BYTE bItalic, BYTE bUnderline,
|
|
BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision,
|
|
BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndFamily,
|
|
LPCSTR lpszFacename)
|
|
{ return Attach(::CreateFont(nHeight, nWidth, nEscapement,
|
|
nOrientation, nWeight, bItalic, bUnderline, cStrikeOut,
|
|
nCharSet, nOutPrecision, nClipPrecision, nQuality,
|
|
nPitchAndFamily, lpszFacename)); }
|
|
|
|
// CBitmap
|
|
_AFXWIN_INLINE CBitmap* PASCAL CBitmap::FromHandle(HBITMAP hBitmap)
|
|
{ return (CBitmap*) CGdiObject::FromHandle(hBitmap); }
|
|
_AFXWIN_INLINE CBitmap::CBitmap()
|
|
{ }
|
|
_AFXWIN_INLINE BOOL CBitmap::CreateBitmap(int nWidth, int nHeight, UINT nPlanes,
|
|
UINT nBitcount, const void FAR* lpBits)
|
|
{ return Attach(::CreateBitmap(nWidth, nHeight, nPlanes, nBitcount, lpBits)); }
|
|
_AFXWIN_INLINE BOOL CBitmap::CreateBitmapIndirect(LPBITMAP lpBitmap)
|
|
{ return Attach(::CreateBitmapIndirect(lpBitmap)); }
|
|
|
|
_AFXWIN_INLINE DWORD CBitmap::SetBitmapBits(DWORD dwCount, const void FAR* lpBits)
|
|
{ return ::SetBitmapBits((HBITMAP)m_hObject, dwCount, lpBits); }
|
|
_AFXWIN_INLINE DWORD CBitmap::GetBitmapBits(DWORD dwCount, LPVOID lpBits) const
|
|
{ return ::GetBitmapBits((HBITMAP)m_hObject, dwCount, lpBits); }
|
|
_AFXWIN_INLINE BOOL CBitmap::LoadBitmap(LPCSTR lpszResourceName)
|
|
{ return Attach(::LoadBitmap(AfxGetResourceHandle(), lpszResourceName));}
|
|
_AFXWIN_INLINE CSize CBitmap::SetBitmapDimension(int nWidth, int nHeight)
|
|
{ return ::SetBitmapDimension((HBITMAP)m_hObject, nWidth, nHeight); }
|
|
_AFXWIN_INLINE CSize CBitmap::GetBitmapDimension() const
|
|
{ return ::GetBitmapDimension((HBITMAP)m_hObject); }
|
|
|
|
_AFXWIN_INLINE BOOL CBitmap::LoadBitmap(UINT nIDResource)
|
|
{ return Attach(::LoadBitmap(AfxGetResourceHandle(),
|
|
MAKEINTRESOURCE(nIDResource))); }
|
|
_AFXWIN_INLINE BOOL CBitmap::LoadOEMBitmap(UINT nIDBitmap)
|
|
{ return Attach(::LoadBitmap(NULL, MAKEINTRESOURCE(nIDBitmap))); }
|
|
_AFXWIN_INLINE BOOL CBitmap::CreateCompatibleBitmap(CDC* pDC, int nWidth, int nHeight)
|
|
{ return Attach(::CreateCompatibleBitmap(pDC->m_hDC, nWidth, nHeight)); }
|
|
_AFXWIN_INLINE BOOL CBitmap::CreateDiscardableBitmap(CDC* pDC, int nWidth, int nHeight)
|
|
{ return Attach(::CreateDiscardableBitmap(pDC->m_hDC, nWidth, nHeight)); }
|
|
|
|
// CPalette
|
|
_AFXWIN_INLINE CPalette* PASCAL CPalette::FromHandle(HPALETTE hPalette)
|
|
{ return (CPalette*) CGdiObject::FromHandle(hPalette); }
|
|
_AFXWIN_INLINE CPalette::CPalette()
|
|
{ }
|
|
_AFXWIN_INLINE BOOL CPalette::CreatePalette(LPLOGPALETTE lpLogPalette)
|
|
{ return Attach(::CreatePalette(lpLogPalette)); }
|
|
_AFXWIN_INLINE UINT CPalette::GetPaletteEntries(UINT nStartIndex, UINT nNumEntries,
|
|
LPPALETTEENTRY lpPaletteColors) const
|
|
{ return ::GetPaletteEntries((HPALETTE)m_hObject, nStartIndex,
|
|
nNumEntries, lpPaletteColors); }
|
|
_AFXWIN_INLINE UINT CPalette::SetPaletteEntries(UINT nStartIndex, UINT nNumEntries,
|
|
LPPALETTEENTRY lpPaletteColors)
|
|
{ return ::SetPaletteEntries((HPALETTE)m_hObject, nStartIndex,
|
|
nNumEntries, lpPaletteColors); }
|
|
_AFXWIN_INLINE void CPalette::AnimatePalette(UINT nStartIndex, UINT nNumEntries,
|
|
LPPALETTEENTRY lpPaletteColors)
|
|
{ ::AnimatePalette((HPALETTE)m_hObject, nStartIndex, nNumEntries,
|
|
lpPaletteColors); }
|
|
_AFXWIN_INLINE UINT CPalette::GetNearestPaletteIndex(COLORREF crColor) const
|
|
{ return ::GetNearestPaletteIndex((HPALETTE)m_hObject, crColor); }
|
|
_AFXWIN_INLINE BOOL CPalette::ResizePalette(UINT nNumEntries)
|
|
{ return ::ResizePalette((HPALETTE)m_hObject, nNumEntries); }
|
|
|
|
// CRgn
|
|
_AFXWIN_INLINE CRgn* PASCAL CRgn::FromHandle(HRGN hRgn)
|
|
{ return (CRgn*) CGdiObject::FromHandle(hRgn); }
|
|
_AFXWIN_INLINE CRgn::CRgn()
|
|
{ }
|
|
_AFXWIN_INLINE BOOL CRgn::CreateRectRgn(int x1, int y1, int x2, int y2)
|
|
{ return Attach(::CreateRectRgn(x1, y1, x2, y2)); }
|
|
_AFXWIN_INLINE BOOL CRgn::CreateRectRgnIndirect(LPCRECT lpRect)
|
|
{ return Attach(::CreateRectRgnIndirect(lpRect)); }
|
|
_AFXWIN_INLINE BOOL CRgn::CreateEllipticRgn(int x1, int y1, int x2, int y2)
|
|
{ return Attach(::CreateEllipticRgn(x1, y1, x2, y2)); }
|
|
_AFXWIN_INLINE BOOL CRgn::CreateEllipticRgnIndirect(LPCRECT lpRect)
|
|
{ return Attach(::CreateEllipticRgnIndirect(lpRect)); }
|
|
_AFXWIN_INLINE BOOL CRgn::CreatePolygonRgn(LPPOINT lpPoints, int nCount, int nMode)
|
|
{ return Attach(::CreatePolygonRgn(lpPoints, nCount, nMode)); }
|
|
_AFXWIN_INLINE BOOL CRgn::CreatePolyPolygonRgn(LPPOINT lpPoints, LPINT lpPolyCounts, int nCount, int nPolyFillMode)
|
|
{ return Attach(::CreatePolyPolygonRgn(lpPoints, lpPolyCounts, nCount, nPolyFillMode)); }
|
|
_AFXWIN_INLINE BOOL CRgn::CreateRoundRectRgn(int x1, int y1, int x2, int y2, int x3, int y3)
|
|
{ return Attach(::CreateRoundRectRgn(x1, y1, x2, y2, x3, y3)); }
|
|
_AFXWIN_INLINE void CRgn::SetRectRgn(int x1, int y1, int x2, int y2)
|
|
{ ::SetRectRgn((HRGN)m_hObject, x1, y1, x2, y2); }
|
|
_AFXWIN_INLINE void CRgn::SetRectRgn(LPCRECT lpRect)
|
|
{ ::SetRectRgn((HRGN)m_hObject, lpRect->left, lpRect->top, lpRect->right, lpRect->bottom); }
|
|
_AFXWIN_INLINE int CRgn::CombineRgn(CRgn* pRgn1, CRgn* pRgn2, int nCombineMode)
|
|
{ return ::CombineRgn((HRGN)m_hObject, (HRGN)pRgn1->GetSafeHandle(),
|
|
(HRGN)pRgn2->GetSafeHandle(), nCombineMode); }
|
|
_AFXWIN_INLINE int CRgn::CopyRgn(CRgn* pRgnSrc)
|
|
{ return ::CombineRgn((HRGN)m_hObject, (HRGN)pRgnSrc->GetSafeHandle(), NULL, RGN_COPY); }
|
|
_AFXWIN_INLINE BOOL CRgn::EqualRgn(CRgn* pRgn) const
|
|
{ return ::EqualRgn((HRGN)m_hObject, (HRGN)pRgn->GetSafeHandle()); }
|
|
_AFXWIN_INLINE int CRgn::OffsetRgn(int x, int y)
|
|
{ return ::OffsetRgn((HRGN)m_hObject, x, y); }
|
|
_AFXWIN_INLINE int CRgn::OffsetRgn(POINT point)
|
|
{ return ::OffsetRgn((HRGN)m_hObject, point.x, point.y); }
|
|
_AFXWIN_INLINE int CRgn::GetRgnBox(LPRECT lpRect) const
|
|
{ return ::GetRgnBox((HRGN)m_hObject, lpRect); }
|
|
_AFXWIN_INLINE BOOL CRgn::PtInRegion(int x, int y) const
|
|
{ return ::PtInRegion((HRGN)m_hObject, x, y); }
|
|
_AFXWIN_INLINE BOOL CRgn::PtInRegion(POINT point) const
|
|
{ return ::PtInRegion((HRGN)m_hObject, point.x, point.y); }
|
|
_AFXWIN_INLINE BOOL CRgn::RectInRegion(LPCRECT lpRect) const
|
|
{ return ::RectInRegion((HRGN)m_hObject, lpRect); }
|
|
|
|
// CDC
|
|
_AFXWIN_INLINE HDC CDC::GetSafeHdc() const
|
|
{ return this == NULL ? NULL : m_hDC; }
|
|
_AFXWIN_INLINE BOOL CDC::IsPrinting() const
|
|
{ return m_bPrinting; }
|
|
|
|
_AFXWIN_INLINE BOOL CDC::CreateDC(LPCSTR lpszDriverName,
|
|
LPCSTR lpszDeviceName, LPCSTR lpszOutput,
|
|
const void FAR* lpInitData)
|
|
{ return Attach(::CreateDC(lpszDriverName,
|
|
lpszDeviceName, lpszOutput,
|
|
lpInitData)); }
|
|
_AFXWIN_INLINE BOOL CDC::CreateIC(LPCSTR lpszDriverName,
|
|
LPCSTR lpszDeviceName, LPCSTR lpszOutput,
|
|
const void FAR* lpInitData)
|
|
{ return Attach(::CreateIC(lpszDriverName,
|
|
lpszDeviceName, lpszOutput,
|
|
lpInitData)); }
|
|
_AFXWIN_INLINE BOOL CDC::CreateCompatibleDC(CDC* pDC)
|
|
{ return Attach(::CreateCompatibleDC(pDC->GetSafeHdc())); }
|
|
_AFXWIN_INLINE int CDC::ExcludeUpdateRgn(CWnd* pWnd)
|
|
{ return ::ExcludeUpdateRgn(m_hDC, pWnd->m_hWnd); }
|
|
_AFXWIN_INLINE int CDC::GetDeviceCaps(int nIndex) const
|
|
{ return ::GetDeviceCaps(m_hAttribDC, nIndex); }
|
|
_AFXWIN_INLINE CPoint CDC::GetBrushOrg() const
|
|
{ return ::GetBrushOrg(m_hDC); }
|
|
_AFXWIN_INLINE CPoint CDC::SetBrushOrg(int x, int y)
|
|
{ return ::SetBrushOrg(m_hDC, x, y); }
|
|
_AFXWIN_INLINE CPoint CDC::SetBrushOrg(POINT point)
|
|
{ return ::SetBrushOrg(m_hDC, point.x, point.y); }
|
|
_AFXWIN_INLINE int CDC::EnumObjects(int nObjectType,
|
|
int (CALLBACK EXPORT* lpfn)(LPVOID, LPARAM), LPARAM lpData)
|
|
#ifdef STRICT
|
|
{ return ::EnumObjects(m_hAttribDC, nObjectType, (GOBJENUMPROC)lpfn, lpData); }
|
|
#else
|
|
{ return ::EnumObjects(m_hAttribDC, nObjectType, (GOBJENUMPROC)lpfn, (LPSTR)lpData); }
|
|
#endif
|
|
|
|
|
|
_AFXWIN_INLINE CBitmap* CDC::SelectObject(CBitmap* pBitmap)
|
|
{ return (CBitmap*) SelectGdiObject(m_hDC, pBitmap->GetSafeHandle());}
|
|
|
|
_AFXWIN_INLINE HGDIOBJ CDC::SelectObject(HGDIOBJ hObject) // Safe for NULL handles
|
|
{ ASSERT(m_hDC == m_hAttribDC); // ASSERT a simple CDC object
|
|
return (hObject != NULL) ? ::SelectObject(m_hDC, hObject) : NULL; }
|
|
|
|
_AFXWIN_INLINE COLORREF CDC::GetNearestColor(COLORREF crColor) const
|
|
{ return ::GetNearestColor(m_hAttribDC, crColor); }
|
|
_AFXWIN_INLINE UINT CDC::RealizePalette()
|
|
{ return ::RealizePalette(m_hDC); }
|
|
_AFXWIN_INLINE void CDC::UpdateColors()
|
|
{ ::UpdateColors(m_hDC); }
|
|
_AFXWIN_INLINE COLORREF CDC::GetBkColor() const
|
|
{ return ::GetBkColor(m_hAttribDC); }
|
|
_AFXWIN_INLINE int CDC::GetBkMode() const
|
|
{ return ::GetBkMode(m_hAttribDC); }
|
|
_AFXWIN_INLINE int CDC::GetPolyFillMode() const
|
|
{ return ::GetPolyFillMode(m_hAttribDC); }
|
|
_AFXWIN_INLINE int CDC::GetROP2() const
|
|
{ return ::GetROP2(m_hAttribDC); }
|
|
_AFXWIN_INLINE int CDC::GetStretchBltMode() const
|
|
{ return ::GetStretchBltMode(m_hAttribDC); }
|
|
_AFXWIN_INLINE COLORREF CDC::GetTextColor() const
|
|
{ return ::GetTextColor(m_hAttribDC); }
|
|
_AFXWIN_INLINE int CDC::GetMapMode() const
|
|
{ return ::GetMapMode(m_hAttribDC); }
|
|
|
|
_AFXWIN_INLINE CPoint CDC::GetViewportOrg() const
|
|
{ return ::GetViewportOrg(m_hAttribDC); }
|
|
_AFXWIN_INLINE CSize CDC::GetViewportExt() const
|
|
{ return ::GetViewportExt(m_hAttribDC); }
|
|
_AFXWIN_INLINE CPoint CDC::GetWindowOrg() const
|
|
{ return ::GetWindowOrg(m_hAttribDC); }
|
|
_AFXWIN_INLINE CSize CDC::GetWindowExt() const
|
|
{ return ::GetWindowExt(m_hAttribDC); }
|
|
// non-virtual helpers calling virtual mapping functions
|
|
_AFXWIN_INLINE CPoint CDC::SetViewportOrg(POINT point)
|
|
{ return SetViewportOrg(point.x, point.y); }
|
|
_AFXWIN_INLINE CSize CDC::SetViewportExt(SIZE size)
|
|
{ return SetViewportExt(size.cx, size.cy); }
|
|
_AFXWIN_INLINE CPoint CDC::SetWindowOrg(POINT point)
|
|
{ return SetWindowOrg(point.x, point.y); }
|
|
_AFXWIN_INLINE CSize CDC::SetWindowExt(SIZE size)
|
|
{ return SetWindowExt(size.cx, size.cy); }
|
|
|
|
_AFXWIN_INLINE void CDC::DPtoLP(LPPOINT lpPoints, int nCount /* = 1 */) const
|
|
{ VERIFY(::DPtoLP(m_hAttribDC, lpPoints, nCount)); }
|
|
_AFXWIN_INLINE void CDC::DPtoLP(LPRECT lpRect) const
|
|
{ VERIFY(::DPtoLP(m_hAttribDC, (LPPOINT)lpRect, 2)); }
|
|
_AFXWIN_INLINE void CDC::LPtoDP(LPPOINT lpPoints, int nCount /* = 1 */) const
|
|
{ VERIFY(::LPtoDP(m_hAttribDC, lpPoints, nCount)); }
|
|
_AFXWIN_INLINE void CDC::LPtoDP(LPRECT lpRect) const
|
|
{ VERIFY(::LPtoDP(m_hAttribDC, (LPPOINT)lpRect, 2)); }
|
|
|
|
_AFXWIN_INLINE BOOL CDC::FillRgn(CRgn* pRgn, CBrush* pBrush)
|
|
{ return ::FillRgn(m_hDC, (HRGN)pRgn->GetSafeHandle(), (HBRUSH)pBrush->GetSafeHandle()); }
|
|
_AFXWIN_INLINE BOOL CDC::FrameRgn(CRgn* pRgn, CBrush* pBrush, int nWidth, int nHeight)
|
|
{ return ::FrameRgn(m_hDC, (HRGN)pRgn->GetSafeHandle(), (HBRUSH)pBrush->GetSafeHandle(),
|
|
nWidth, nHeight); }
|
|
_AFXWIN_INLINE BOOL CDC::InvertRgn(CRgn* pRgn)
|
|
{ return ::InvertRgn(m_hDC, (HRGN)pRgn->GetSafeHandle()); }
|
|
_AFXWIN_INLINE BOOL CDC::PaintRgn(CRgn* pRgn)
|
|
{ return ::PaintRgn(m_hDC, (HRGN)pRgn->GetSafeHandle()); }
|
|
_AFXWIN_INLINE BOOL CDC::PtVisible(int x, int y) const
|
|
{ return ::PtVisible(m_hDC, x, y); }
|
|
_AFXWIN_INLINE BOOL CDC::PtVisible(POINT point) const
|
|
{ return PtVisible(point.x, point.y); } // call virtual
|
|
_AFXWIN_INLINE BOOL CDC::RectVisible(LPCRECT lpRect) const
|
|
{ return ::RectVisible(m_hDC, lpRect); }
|
|
_AFXWIN_INLINE CPoint CDC::GetCurrentPosition() const
|
|
{ return ::GetCurrentPosition(m_hAttribDC); }
|
|
|
|
_AFXWIN_INLINE CPoint CDC::MoveTo(POINT point)
|
|
{ return MoveTo(point.x, point.y); }
|
|
_AFXWIN_INLINE BOOL CDC::LineTo(POINT point)
|
|
{ return LineTo(point.x, point.y); }
|
|
_AFXWIN_INLINE BOOL CDC::Arc(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4)
|
|
{ return ::Arc(m_hDC, x1, y1, x2, y2, x3, y3, x4, y4); }
|
|
_AFXWIN_INLINE BOOL CDC::Arc(LPCRECT lpRect, POINT ptStart, POINT ptEnd)
|
|
{ return ::Arc(m_hDC, lpRect->left, lpRect->top,
|
|
lpRect->right, lpRect->bottom, ptStart.x, ptStart.y,
|
|
ptEnd.x, ptEnd.y); }
|
|
_AFXWIN_INLINE BOOL CDC::Polyline(LPPOINT lpPoints, int nCount)
|
|
{ return ::Polyline(m_hDC, lpPoints, nCount); }
|
|
_AFXWIN_INLINE void CDC::FillRect(LPCRECT lpRect, CBrush* pBrush)
|
|
{ ::FillRect(m_hDC, lpRect, (HBRUSH)pBrush->GetSafeHandle()); }
|
|
_AFXWIN_INLINE void CDC::FrameRect(LPCRECT lpRect, CBrush* pBrush)
|
|
{ ::FrameRect(m_hDC, lpRect, (HBRUSH)pBrush->GetSafeHandle()); }
|
|
_AFXWIN_INLINE void CDC::InvertRect(LPCRECT lpRect)
|
|
{ ::InvertRect(m_hDC, lpRect); }
|
|
_AFXWIN_INLINE BOOL CDC::DrawIcon(int x, int y, HICON hIcon)
|
|
{ return ::DrawIcon(m_hDC, x, y, hIcon); }
|
|
_AFXWIN_INLINE BOOL CDC::DrawIcon(POINT point, HICON hIcon)
|
|
{ return ::DrawIcon(m_hDC, point.x, point.y, hIcon); }
|
|
_AFXWIN_INLINE BOOL CDC::Chord(int x1, int y1, int x2, int y2, int x3, int y3,
|
|
int x4, int y4)
|
|
{ return ::Chord(m_hDC, x1, y1, x2, y2, x3, y3, x4, y4); }
|
|
_AFXWIN_INLINE BOOL CDC::Chord(LPCRECT lpRect, POINT ptStart, POINT ptEnd)
|
|
{ return ::Chord(m_hDC, lpRect->left, lpRect->top,
|
|
lpRect->right, lpRect->bottom, ptStart.x, ptStart.y,
|
|
ptEnd.x, ptEnd.y); }
|
|
_AFXWIN_INLINE void CDC::DrawFocusRect(LPCRECT lpRect)
|
|
{ ::DrawFocusRect(m_hDC, lpRect); }
|
|
_AFXWIN_INLINE BOOL CDC::Ellipse(int x1, int y1, int x2, int y2)
|
|
{ return ::Ellipse(m_hDC, x1, y1, x2, y2); }
|
|
_AFXWIN_INLINE BOOL CDC::Ellipse(LPCRECT lpRect)
|
|
{ return ::Ellipse(m_hDC, lpRect->left, lpRect->top,
|
|
lpRect->right, lpRect->bottom); }
|
|
_AFXWIN_INLINE BOOL CDC::Pie(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4)
|
|
{ return ::Pie(m_hDC, x1, y1, x2, y2, x3, y3, x4, y4); }
|
|
_AFXWIN_INLINE BOOL CDC::Pie(LPCRECT lpRect, POINT ptStart, POINT ptEnd)
|
|
{ return ::Pie(m_hDC, lpRect->left, lpRect->top,
|
|
lpRect->right, lpRect->bottom, ptStart.x, ptStart.y,
|
|
ptEnd.x, ptEnd.y); }
|
|
_AFXWIN_INLINE BOOL CDC::Polygon(LPPOINT lpPoints, int nCount)
|
|
{ return ::Polygon(m_hDC, lpPoints, nCount); }
|
|
_AFXWIN_INLINE BOOL CDC::PolyPolygon(LPPOINT lpPoints, LPINT lpPolyCounts, int nCount)
|
|
{ return ::PolyPolygon(m_hDC, lpPoints, lpPolyCounts, nCount); }
|
|
_AFXWIN_INLINE BOOL CDC::Rectangle(int x1, int y1, int x2, int y2)
|
|
{ return ::Rectangle(m_hDC, x1, y1, x2, y2); }
|
|
_AFXWIN_INLINE BOOL CDC::Rectangle(LPCRECT lpRect)
|
|
{ return ::Rectangle(m_hDC, lpRect->left, lpRect->top,
|
|
lpRect->right, lpRect->bottom); }
|
|
_AFXWIN_INLINE BOOL CDC::RoundRect(int x1, int y1, int x2, int y2, int x3, int y3)
|
|
{ return ::RoundRect(m_hDC, x1, y1, x2, y2, x3, y3); }
|
|
_AFXWIN_INLINE BOOL CDC::RoundRect(LPCRECT lpRect, POINT point)
|
|
{ return ::RoundRect(m_hDC, lpRect->left, lpRect->top,
|
|
lpRect->right, lpRect->bottom, point.x, point.y); }
|
|
_AFXWIN_INLINE BOOL CDC::PatBlt(int x, int y, int nWidth, int nHeight, DWORD dwRop)
|
|
{ return ::PatBlt(m_hDC, x, y, nWidth, nHeight, dwRop); }
|
|
_AFXWIN_INLINE BOOL CDC::BitBlt(int x, int y, int nWidth, int nHeight, CDC* pSrcDC,
|
|
int xSrc, int ySrc, DWORD dwRop)
|
|
{ return ::BitBlt(m_hDC, x, y, nWidth, nHeight,
|
|
pSrcDC->GetSafeHdc(), xSrc, ySrc, dwRop); }
|
|
_AFXWIN_INLINE BOOL CDC::StretchBlt(int x, int y, int nWidth, int nHeight, CDC* pSrcDC,
|
|
int xSrc, int ySrc, int nSrcWidth, int nSrcHeight, DWORD dwRop)
|
|
{ return ::StretchBlt(m_hDC, x, y, nWidth, nHeight,
|
|
pSrcDC->GetSafeHdc(), xSrc, ySrc, nSrcWidth, nSrcHeight,
|
|
dwRop); }
|
|
_AFXWIN_INLINE COLORREF CDC::GetPixel(int x, int y) const
|
|
{ return ::GetPixel(m_hDC, x, y); }
|
|
_AFXWIN_INLINE COLORREF CDC::GetPixel(POINT point) const
|
|
{ return ::GetPixel(m_hDC, point.x, point.y); }
|
|
_AFXWIN_INLINE COLORREF CDC::SetPixel(int x, int y, COLORREF crColor)
|
|
{ return ::SetPixel(m_hDC, x, y, crColor); }
|
|
_AFXWIN_INLINE COLORREF CDC::SetPixel(POINT point, COLORREF crColor)
|
|
{ return ::SetPixel(m_hDC, point.x, point.y, crColor); }
|
|
_AFXWIN_INLINE BOOL CDC::FloodFill(int x, int y, COLORREF crColor)
|
|
{ return ::FloodFill(m_hDC, x, y, crColor); }
|
|
_AFXWIN_INLINE BOOL CDC::ExtFloodFill(int x, int y, COLORREF crColor, UINT nFillType)
|
|
{ return ::ExtFloodFill(m_hDC, x, y, crColor, nFillType); }
|
|
_AFXWIN_INLINE BOOL CDC::TextOut(int x, int y, LPCSTR lpszString, int nCount)
|
|
{ return ::TextOut(m_hDC, x, y, lpszString, nCount); }
|
|
_AFXWIN_INLINE BOOL CDC::TextOut(int x, int y, const CString& str)
|
|
{ return TextOut(x, y, (const char*)str, str.GetLength()); } // call virtual
|
|
_AFXWIN_INLINE BOOL CDC::ExtTextOut(int x, int y, UINT nOptions, LPCRECT lpRect,
|
|
LPCSTR lpszString, UINT nCount, LPINT lpDxWidths)
|
|
{ return ::ExtTextOut(m_hDC, x, y, nOptions, lpRect,
|
|
lpszString, nCount, lpDxWidths); }
|
|
_AFXWIN_INLINE CSize CDC::TabbedTextOut(int x, int y, LPCSTR lpszString, int nCount,
|
|
int nTabPositions, LPINT lpnTabStopPositions, int nTabOrigin)
|
|
{ return ::TabbedTextOut(m_hDC, x, y, lpszString, nCount,
|
|
nTabPositions, lpnTabStopPositions, nTabOrigin); }
|
|
_AFXWIN_INLINE int CDC::DrawText(LPCSTR lpszString, int nCount, LPRECT lpRect,
|
|
UINT nFormat)
|
|
{ return ::DrawText(m_hDC, lpszString, nCount, lpRect, nFormat); }
|
|
_AFXWIN_INLINE CSize CDC::GetTextExtent(LPCSTR lpszString, int nCount) const
|
|
{ return ::GetTextExtent(m_hAttribDC, lpszString, nCount); }
|
|
_AFXWIN_INLINE CSize CDC::GetOutputTextExtent(LPCSTR lpszString, int nCount) const
|
|
{ return ::GetTextExtent(m_hDC, lpszString, nCount); }
|
|
_AFXWIN_INLINE CSize CDC::GetTabbedTextExtent(LPCSTR lpszString, int nCount,
|
|
int nTabPositions, LPINT lpnTabStopPositions) const
|
|
{ return ::GetTabbedTextExtent(m_hAttribDC, lpszString, nCount,
|
|
nTabPositions, lpnTabStopPositions); }
|
|
_AFXWIN_INLINE CSize CDC::GetOutputTabbedTextExtent(LPCSTR lpszString, int nCount,
|
|
int nTabPositions, LPINT lpnTabStopPositions) const
|
|
{ return ::GetTabbedTextExtent(m_hDC, lpszString, nCount,
|
|
nTabPositions, lpnTabStopPositions); }
|
|
_AFXWIN_INLINE BOOL CDC::GrayString(CBrush* pBrush,
|
|
BOOL (CALLBACK EXPORT* lpfnOutput)(HDC, LPARAM, int),
|
|
LPARAM lpData, int nCount,
|
|
int x, int y, int nWidth, int nHeight)
|
|
{ return ::GrayString(m_hDC, (HBRUSH)pBrush->GetSafeHandle(),
|
|
(GRAYSTRINGPROC)lpfnOutput, lpData, nCount, x, y, nWidth, nHeight); }
|
|
_AFXWIN_INLINE UINT CDC::GetTextAlign() const
|
|
{ return ::GetTextAlign(m_hAttribDC); }
|
|
_AFXWIN_INLINE int CDC::GetTextFace(int nCount, LPSTR lpszFacename) const
|
|
{ return ::GetTextFace(m_hAttribDC, nCount, lpszFacename); }
|
|
_AFXWIN_INLINE BOOL CDC::GetTextMetrics(LPTEXTMETRIC lpMetrics) const
|
|
{ return ::GetTextMetrics(m_hAttribDC, lpMetrics); }
|
|
_AFXWIN_INLINE BOOL CDC::GetOutputTextMetrics(LPTEXTMETRIC lpMetrics) const
|
|
{ return ::GetTextMetrics(m_hDC, lpMetrics); }
|
|
_AFXWIN_INLINE int CDC::GetTextCharacterExtra() const
|
|
{ return ::GetTextCharacterExtra(m_hAttribDC); }
|
|
_AFXWIN_INLINE BOOL CDC::GetCharWidth(UINT nFirstChar, UINT nLastChar, LPINT lpBuffer) const
|
|
{ return ::GetCharWidth(m_hAttribDC, nFirstChar, nLastChar, lpBuffer); }
|
|
_AFXWIN_INLINE BOOL CDC::GetOutputCharWidth(UINT nFirstChar, UINT nLastChar, LPINT lpBuffer) const
|
|
{ return ::GetCharWidth(m_hDC, nFirstChar, nLastChar, lpBuffer); }
|
|
_AFXWIN_INLINE CSize CDC::GetAspectRatioFilter() const
|
|
{ return ::GetAspectRatioFilter(m_hAttribDC); }
|
|
_AFXWIN_INLINE BOOL CDC::ScrollDC(int dx, int dy,
|
|
LPCRECT lpRectScroll, LPCRECT lpRectClip,
|
|
CRgn* pRgnUpdate, LPRECT lpRectUpdate)
|
|
{ return ::ScrollDC(m_hDC, dx, dy, lpRectScroll,
|
|
lpRectClip, (HRGN)pRgnUpdate->GetSafeHandle(), lpRectUpdate); }
|
|
_AFXWIN_INLINE BOOL CDC::PlayMetaFile(HMETAFILE hMF)
|
|
{ return ::PlayMetaFile(m_hDC, hMF); }
|
|
|
|
// Printer Escape Functions
|
|
_AFXWIN_INLINE int CDC::Escape(int nEscape, int nCount, LPCSTR lpszInData, LPVOID lpOutData)
|
|
{ return ::Escape(m_hDC, nEscape, nCount, lpszInData, lpOutData);}
|
|
|
|
// CDC 3.1 Specific functions
|
|
#if (WINVER >= 0x030a)
|
|
_AFXWIN_INLINE BOOL CDC::QueryAbort() const
|
|
{ return ::QueryAbort(m_hDC, 0); }
|
|
_AFXWIN_INLINE UINT CDC::SetBoundsRect(LPCRECT lpRectBounds, UINT flags)
|
|
{ return ::SetBoundsRect(m_hDC, lpRectBounds, flags); }
|
|
_AFXWIN_INLINE UINT CDC::GetBoundsRect(LPRECT lpRectBounds, UINT flags)
|
|
{ return ::GetBoundsRect(m_hAttribDC, lpRectBounds, flags); }
|
|
_AFXWIN_INLINE BOOL CDC::ResetDC(const DEVMODE FAR* lpDevMode)
|
|
{ return ::ResetDC(m_hAttribDC, lpDevMode) != NULL; }
|
|
_AFXWIN_INLINE UINT CDC::GetOutlineTextMetrics(UINT cbData, LPOUTLINETEXTMETRIC lpotm) const
|
|
{ return ::GetOutlineTextMetrics(m_hAttribDC, cbData, lpotm); }
|
|
_AFXWIN_INLINE BOOL CDC::GetCharABCWidths(UINT nFirst, UINT nLast, LPABC lpabc) const
|
|
{ return ::GetCharABCWidths(m_hAttribDC, nFirst, nLast, lpabc); }
|
|
_AFXWIN_INLINE DWORD CDC::GetFontData(DWORD dwTable, DWORD dwOffset, LPVOID lpData,
|
|
DWORD cbData) const
|
|
{ return ::GetFontData(m_hAttribDC, dwTable, dwOffset, lpData, cbData); }
|
|
_AFXWIN_INLINE int CDC::GetKerningPairs(int nPairs, LPKERNINGPAIR lpkrnpair) const
|
|
{ return ::GetKerningPairs(m_hAttribDC, nPairs, lpkrnpair); }
|
|
_AFXWIN_INLINE DWORD CDC::GetGlyphOutline(UINT nChar, UINT nFormat, LPGLYPHMETRICS lpgm,
|
|
DWORD cbBuffer, LPVOID lpBuffer, const MAT2 FAR* lpmat2) const
|
|
{ return ::GetGlyphOutline(m_hAttribDC, nChar, nFormat,
|
|
lpgm, cbBuffer, lpBuffer, lpmat2); }
|
|
#endif // WINVER >= 0x030a
|
|
|
|
// CMenu
|
|
_AFXWIN_INLINE CMenu::CMenu()
|
|
{ m_hMenu = NULL; }
|
|
_AFXWIN_INLINE BOOL CMenu::CreateMenu()
|
|
{ return Attach(::CreateMenu()); }
|
|
_AFXWIN_INLINE BOOL CMenu::CreatePopupMenu()
|
|
{ return Attach(::CreatePopupMenu()); }
|
|
_AFXWIN_INLINE HMENU CMenu::GetSafeHmenu() const
|
|
{ return this == NULL ? NULL : m_hMenu; }
|
|
_AFXWIN_INLINE BOOL CMenu::DeleteMenu(UINT nPosition, UINT nFlags)
|
|
{ return ::DeleteMenu(m_hMenu, nPosition, nFlags); }
|
|
_AFXWIN_INLINE BOOL CMenu::AppendMenu(UINT nFlags, UINT nIDNewItem /* = 0 */, LPCSTR lpszNewItem /* = NULL */)
|
|
{ return ::AppendMenu(m_hMenu, nFlags, nIDNewItem, lpszNewItem); }
|
|
_AFXWIN_INLINE BOOL CMenu::AppendMenu(UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp)
|
|
{ return ::AppendMenu(m_hMenu, nFlags | MF_BITMAP, nIDNewItem,
|
|
MAKEINTRESOURCE(pBmp->GetSafeHandle())); }
|
|
_AFXWIN_INLINE UINT CMenu::CheckMenuItem(UINT nIDCheckItem, UINT nCheck)
|
|
{ return ::CheckMenuItem(m_hMenu, nIDCheckItem, nCheck); }
|
|
_AFXWIN_INLINE UINT CMenu::EnableMenuItem(UINT nIDEnableItem, UINT nEnable)
|
|
{ return ::EnableMenuItem(m_hMenu, nIDEnableItem, nEnable); }
|
|
_AFXWIN_INLINE UINT CMenu::GetMenuItemCount() const
|
|
{ return ::GetMenuItemCount(m_hMenu); }
|
|
_AFXWIN_INLINE UINT CMenu::GetMenuItemID(int nPos) const
|
|
{ return ::GetMenuItemID(m_hMenu, nPos); }
|
|
_AFXWIN_INLINE UINT CMenu::GetMenuState(UINT nID, UINT nFlags) const
|
|
{ return ::GetMenuState(m_hMenu, nID, nFlags); }
|
|
_AFXWIN_INLINE int CMenu::GetMenuString(UINT nIDItem, LPSTR lpString, int nMaxCount, UINT nFlags) const
|
|
{ return ::GetMenuString(m_hMenu, nIDItem, lpString, nMaxCount, nFlags); }
|
|
_AFXWIN_INLINE CMenu* CMenu::GetSubMenu(int nPos) const
|
|
{ return CMenu::FromHandle(::GetSubMenu(m_hMenu, nPos)); }
|
|
_AFXWIN_INLINE BOOL CMenu::InsertMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem /* = 0 */,
|
|
LPCSTR lpszNewItem /* = NULL */)
|
|
{ return ::InsertMenu(m_hMenu, nPosition, nFlags, nIDNewItem, lpszNewItem); }
|
|
_AFXWIN_INLINE BOOL CMenu::InsertMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp)
|
|
{ return ::InsertMenu(m_hMenu, nPosition, nFlags | MF_BITMAP, nIDNewItem,
|
|
MAKEINTRESOURCE(pBmp->GetSafeHandle())); }
|
|
_AFXWIN_INLINE BOOL CMenu::ModifyMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem /* = 0 */, LPCSTR lpszNewItem /* = NULL */)
|
|
{ return ::ModifyMenu(m_hMenu, nPosition, nFlags, nIDNewItem, lpszNewItem); }
|
|
_AFXWIN_INLINE BOOL CMenu::ModifyMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp)
|
|
{ return ::ModifyMenu(m_hMenu, nPosition, nFlags | MF_BITMAP, nIDNewItem,
|
|
MAKEINTRESOURCE(pBmp->GetSafeHandle())); }
|
|
_AFXWIN_INLINE BOOL CMenu::RemoveMenu(UINT nPosition, UINT nFlags)
|
|
{ return ::RemoveMenu(m_hMenu, nPosition, nFlags); }
|
|
_AFXWIN_INLINE BOOL CMenu::SetMenuItemBitmaps(UINT nPosition, UINT nFlags,
|
|
const CBitmap* pBmpUnchecked, const CBitmap* pBmpChecked)
|
|
{ return ::SetMenuItemBitmaps(m_hMenu, nPosition, nFlags,
|
|
(HBITMAP)pBmpUnchecked->GetSafeHandle(),
|
|
(HBITMAP)pBmpChecked->GetSafeHandle()); }
|
|
_AFXWIN_INLINE BOOL CMenu::LoadMenu(LPCSTR lpszResourceName)
|
|
{ return Attach(::LoadMenu(AfxGetResourceHandle(), lpszResourceName)); }
|
|
_AFXWIN_INLINE BOOL CMenu::LoadMenu(UINT nIDResource)
|
|
{ return Attach(::LoadMenu(AfxGetResourceHandle(),
|
|
MAKEINTRESOURCE(nIDResource))); }
|
|
_AFXWIN_INLINE BOOL CMenu::LoadMenuIndirect(const void FAR* lpMenuTemplate)
|
|
{ return Attach(::LoadMenuIndirect(lpMenuTemplate)); }
|
|
|
|
// CCmdUI
|
|
_AFXWIN_INLINE void CCmdUI::ContinueRouting()
|
|
{ m_bContinueRouting = TRUE; }
|
|
|
|
#endif //_AFXWIN_INLINE
|