Annotation of mstools/mfc/include/afxwin.inl, revision 1.1

1.1     ! root        1: // Microsoft Foundation Classes C++ library.
        !             2: // Copyright (C) 1992 Microsoft Corporation,
        !             3: // All rights reserved.
        !             4: 
        !             5: // This source code is only intended as a supplement to the
        !             6: // Microsoft Foundation Classes Reference and Microsoft
        !             7: // QuickHelp documentation provided with the library.
        !             8: // See these sources for detailed information regarding the
        !             9: // Microsoft Foundation Classes product.
        !            10: 
        !            11: #ifndef __AFXWIN_INL__
        !            12: #define __AFXWIN_INL__
        !            13: 
        !            14: #ifdef _DEBUG
        !            15: extern char BASED_CODE _afxSzAfxWinInl[]; // defined in dumpcont.cpp
        !            16: #undef THIS_FILE
        !            17: #define THIS_FILE _afxSzAfxWinInl
        !            18: #endif
        !            19: 
        !            20: // Global helper functions
        !            21: inline CWinApp* AfxGetApp()
        !            22:        { return afxCurrentWinApp; }
        !            23: inline HINSTANCE AfxGetInstanceHandle()
        !            24:        { ASSERT(afxCurrentInstanceHandle != NULL);
        !            25:                return (HINSTANCE)afxCurrentInstanceHandle; }
        !            26: inline HINSTANCE AfxGetResourceHandle()
        !            27:        { ASSERT(afxCurrentResourceHandle != NULL);
        !            28:                return (HINSTANCE)afxCurrentResourceHandle; }
        !            29: inline const char* AfxGetAppName()
        !            30:        { ASSERT(afxCurrentAppName != NULL); return afxCurrentAppName; }
        !            31: 
        !            32: // CSize inline functions
        !            33: inline CSize::CSize()
        !            34:        { /* random filled */ }
        !            35: inline CSize::CSize(int initCX, int initCY)
        !            36:        { cx = initCX; cy = initCY; }
        !            37: inline CSize::CSize(SIZE initSize)
        !            38:        { *(SIZE*)this = initSize; }
        !            39: inline CSize::CSize(POINT initPt)
        !            40:        { *(POINT*)this = initPt; }
        !            41: inline CSize::CSize(DWORD dwSize)
        !            42: #ifdef _NTWIN
        !            43:        { cx = LOWORD(dwSize); cy = HIWORD(dwSize); }
        !            44: #else
        !            45:        { *(DWORD*)this = dwSize; }
        !            46: #endif
        !            47: inline BOOL CSize::operator==(SIZE size) const
        !            48:        { return (cx == size.cx && cy == size.cy); }
        !            49: inline BOOL CSize::operator!=(SIZE size) const
        !            50:        { return (cx != size.cx || cy != size.cy); }
        !            51: inline void CSize::operator+=(SIZE size)
        !            52:        { cx += size.cx; cy += size.cy; }
        !            53: inline void CSize::operator-=(SIZE size)
        !            54:        { cx -= size.cx; cy -= size.cy; }
        !            55: inline CSize CSize::operator+(SIZE size) const
        !            56:        { return CSize(cx + size.cx, cy + size.cy); }
        !            57: inline CSize CSize::operator-(SIZE size) const
        !            58:        { return CSize(cx - size.cx, cy - size.cy); }
        !            59: 
        !            60: // CPoint inline functions
        !            61: inline CPoint::CPoint()
        !            62:        { /* random filled */ }
        !            63: inline CPoint::CPoint(int initX, int initY)
        !            64:        { x = initX; y = initY; }
        !            65: inline CPoint::CPoint(POINT initPt)
        !            66:        { *(POINT*)this = initPt; }
        !            67: inline CPoint::CPoint(SIZE initSize)
        !            68:        { *(SIZE*)this = initSize; }
        !            69: inline CPoint::CPoint(DWORD dwPoint)
        !            70: #ifdef _NTWIN
        !            71:        { x = LOWORD(dwPoint); y = HIWORD(dwPoint); }
        !            72: #else
        !            73:        { *(DWORD*)this = dwPoint; }
        !            74: #endif
        !            75: inline void CPoint::Offset(int xOffset, int yOffset)
        !            76:        { x += xOffset; y += yOffset; }
        !            77: inline void CPoint::Offset(POINT point)
        !            78:        { x += point.x; y += point.y; }
        !            79: inline void CPoint::Offset(SIZE size)
        !            80:        { x += size.cx; y += size.cy; }
        !            81: inline BOOL CPoint::operator==(POINT point) const
        !            82:        { return (x == point.x && y == point.y); }
        !            83: inline BOOL CPoint::operator!=(POINT point) const
        !            84:        { return (x != point.x || y != point.y); }
        !            85: inline void CPoint::operator+=(SIZE size)
        !            86:        { x += size.cx; y += size.cy; }
        !            87: inline void CPoint::operator-=(SIZE size)
        !            88:        { x -= size.cx; y -= size.cy; }
        !            89: inline CPoint CPoint::operator+(SIZE size) const
        !            90:        { return CPoint(x + size.cx, y + size.cy); }
        !            91: inline CPoint CPoint::operator-(SIZE size) const
        !            92:        { return CPoint(x - size.cx, y - size.cy); }
        !            93: inline CSize CPoint::operator-(POINT point) const
        !            94:        { return CSize(x - point.x, y - point.y); }
        !            95: 
        !            96: 
        !            97: // CRect inline functions
        !            98: inline CRect::CRect()
        !            99:        { /* random filled */ }
        !           100: inline CRect::CRect(int l, int t, int r, int b)
        !           101:        { left = l; top = t; right = r; bottom = b; }
        !           102: inline CRect::CRect(const RECT& srcRect)
        !           103:        { ::CopyRect((LPRECT)this, (LPRECT)&srcRect); }
        !           104: inline CRect::CRect(LPRECT lpSrcRect)
        !           105:        { ::CopyRect((LPRECT)this, lpSrcRect); }
        !           106: inline CRect::CRect(POINT point, SIZE size)
        !           107:        { left = point.x; top = point.y; 
        !           108:                right = point.x + size.cx; bottom = point.y + size.cy; }
        !           109: inline int CRect::Width() const
        !           110:        { return right - left; }
        !           111: inline int CRect::Height() const
        !           112:        { return bottom - top; }
        !           113: inline CSize CRect::Size() const
        !           114:        { return CSize(right - left, bottom - top); }
        !           115: inline CPoint& CRect::TopLeft()
        !           116:        { return *((CPoint*)this); }
        !           117: inline CPoint& CRect::BottomRight()
        !           118:        { return *((CPoint*)this+1); }
        !           119: inline CRect::operator LPRECT()
        !           120:        { return (LPRECT)this; }
        !           121: inline BOOL CRect::IsRectEmpty() const
        !           122:        { return ::IsRectEmpty((LPRECT)this); }
        !           123: inline BOOL CRect::IsRectNull() const
        !           124:        { return (left == 0 && right == 0 && top == 0 && bottom == 0); }
        !           125: inline BOOL CRect::PtInRect(POINT point) const
        !           126:        { return ::PtInRect((LPRECT)this, point); }
        !           127: inline void CRect::SetRect(int x1, int y1, int x2, int y2)
        !           128:        { ::SetRect((LPRECT)this, x1, y1, x2, y2); }
        !           129: inline void CRect::SetRectEmpty()
        !           130:        { ::SetRectEmpty((LPRECT)this); }
        !           131: inline void CRect::CopyRect(LPRECT lpSrcRect)
        !           132:        { ::CopyRect((LPRECT)this, lpSrcRect); }
        !           133: inline BOOL CRect::EqualRect(LPRECT lpRect) const
        !           134:        { return ::EqualRect((LPRECT)this, lpRect); }
        !           135: inline void CRect::InflateRect(int x, int y)
        !           136:        { ::InflateRect((LPRECT)this, x, y); }
        !           137: inline void CRect::InflateRect(SIZE size)
        !           138:        { ::InflateRect((LPRECT)this, size.cx, size.cy); }
        !           139: inline void CRect::OffsetRect(int x, int y)
        !           140:        { ::OffsetRect((LPRECT)this, x, y); }
        !           141: inline void CRect::OffsetRect(POINT point)
        !           142:        { ::OffsetRect((LPRECT)this, point.x, point.y); }
        !           143: inline void CRect::OffsetRect(SIZE size)
        !           144:        { ::OffsetRect((LPRECT)this, size.cx, size.cy); }
        !           145: inline int CRect::IntersectRect(LPRECT lpRect1, LPRECT lpRect2)
        !           146:        { return ::IntersectRect((LPRECT)this, lpRect1, lpRect2);}
        !           147: inline int CRect::UnionRect(LPRECT lpRect1, LPRECT lpRect2)
        !           148:        { return ::UnionRect((LPRECT)this, lpRect1, lpRect2); }
        !           149: inline void CRect::operator=(const RECT& srcRect)
        !           150:        { ::CopyRect((LPRECT)this, (LPRECT)&srcRect); }
        !           151: inline BOOL CRect::operator==(const RECT& rect) const
        !           152:        { return ::EqualRect((LPRECT)this, (LPRECT)&rect); }
        !           153: inline BOOL CRect::operator!=(const RECT& rect) const
        !           154:        { return !::EqualRect((LPRECT)this, (LPRECT)&rect); }
        !           155: inline void CRect::operator+=(POINT point)
        !           156:        { ::OffsetRect((LPRECT)this, point.x, point.y); }
        !           157: inline void CRect::operator-=(POINT point)
        !           158:        { ::OffsetRect((LPRECT)this, -point.x, -point.y); }
        !           159: inline void CRect::operator&=(const RECT& rect)
        !           160:        { ::IntersectRect((LPRECT)this, this, (LPRECT)&rect); }
        !           161: inline void CRect::operator|=(const RECT& rect)
        !           162:        { ::UnionRect((LPRECT)this, this, (LPRECT)&rect); }
        !           163: inline CRect CRect::operator+(POINT pt) const
        !           164:        { CRect rect(*this); ::OffsetRect(&rect, pt.x, pt.y); return rect; }
        !           165: inline CRect CRect::operator-(POINT pt) const
        !           166:        { CRect rect(*this); ::OffsetRect(&rect, -pt.x, -pt.y); return rect; }
        !           167: inline CRect CRect::operator&(const RECT& rect2) const
        !           168:        { CRect rect; ::IntersectRect(&rect, (LPRECT)this, (LPRECT)&rect2);
        !           169:          return rect; }
        !           170: inline CRect CRect::operator|(const RECT& rect2) const
        !           171:        { CRect rect; ::UnionRect(&rect, (LPRECT)this, (LPRECT)&rect2);
        !           172:          return rect; }
        !           173: #if (WINVER >= 0x030a)
        !           174: inline BOOL CRect::SubtractRect(LPRECT lpRectSrc1, LPRECT lpRectSrc2)
        !           175:        { return ::SubtractRect((LPRECT)this, lpRectSrc1, lpRectSrc2); }
        !           176: #endif /* WINVER >= 0x030a */
        !           177: 
        !           178: inline CArchive& operator<<(CArchive& ar, SIZE size)
        !           179:        { ar.Write(&size, sizeof(SIZE));
        !           180:        return ar; }
        !           181: inline CArchive& operator<<(CArchive& ar, POINT point)
        !           182:        { ar.Write(&point, sizeof(POINT));
        !           183:        return ar; }
        !           184: inline CArchive& operator<<(CArchive& ar, const RECT& rect)
        !           185:        { ar.Write(&rect, sizeof(RECT));
        !           186:        return ar; }
        !           187: inline CArchive& operator>>(CArchive& ar, SIZE& size)
        !           188:        { ar.Read(&size, sizeof(SIZE));
        !           189:        return ar; }
        !           190: inline CArchive& operator>>(CArchive& ar, POINT& point)
        !           191:        { ar.Read(&point, sizeof(POINT));
        !           192:        return ar; }
        !           193: inline CArchive& operator>>(CArchive& ar, RECT& rect)
        !           194:        { ar.Read(&rect, sizeof(RECT));
        !           195:        return ar; }
        !           196: 
        !           197: 
        !           198: // CResourceException inline functions
        !           199: inline CResourceException::CResourceException() 
        !           200:        { }
        !           201: 
        !           202: // CGdiObject inline functions
        !           203: inline HANDLE   CGdiObject::GetSafeHandle() const
        !           204:        { return this == NULL ? NULL : m_hObject; }
        !           205: inline CGdiObject::CGdiObject() 
        !           206:        { m_hObject = NULL; }
        !           207: inline int CGdiObject::GetObject(int nCount, void FAR* lpObject) const
        !           208:        { return ::GetObject(m_hObject, nCount, lpObject); }
        !           209: inline BOOL CGdiObject::CreateStockObject(int nIndex)
        !           210:        { return Attach(::GetStockObject(nIndex)); }
        !           211: inline BOOL CGdiObject::UnrealizeObject()
        !           212: #ifdef _NTWIN
        !           213:        { return TRUE; }
        !           214: #else
        !           215:        { return ::UnrealizeObject(m_hObject); }
        !           216: #endif
        !           217: 
        !           218: // CPen inline functions
        !           219: inline CPen* CPen::FromHandle(HPEN hPen)
        !           220:        { return (CPen*) CGdiObject::FromHandle(hPen); }
        !           221: inline CPen::CPen() 
        !           222:        { }
        !           223: inline BOOL CPen::CreatePen(int nPenStyle, int nWidth, DWORD crColor)
        !           224:        { return Attach(::CreatePen(nPenStyle, nWidth, crColor)); }
        !           225: inline BOOL CPen::CreatePenIndirect(LPLOGPEN lpLogPen)
        !           226:        { return Attach(::CreatePenIndirect(lpLogPen)); }
        !           227: 
        !           228: // CBrush inline functions
        !           229: inline CBrush* CBrush::FromHandle(HBRUSH hBrush)
        !           230:        { return (CBrush*) CGdiObject::FromHandle(hBrush); }
        !           231: inline CBrush::CBrush() 
        !           232:        { }
        !           233: inline BOOL CBrush::CreateSolidBrush(DWORD crColor)
        !           234:        { return Attach(::CreateSolidBrush(crColor)); }
        !           235: inline BOOL CBrush::CreateHatchBrush(int nIndex, DWORD crColor)
        !           236:        { return Attach(::CreateHatchBrush(nIndex, crColor)); }
        !           237: inline BOOL CBrush::CreateBrushIndirect(LPLOGBRUSH lpLogBrush)
        !           238:        { return Attach(::CreateBrushIndirect(lpLogBrush)); }
        !           239: inline BOOL CBrush::CreateDIBPatternBrush(GLOBALHANDLE hPackedDIB, UINT nUsage)
        !           240:        { return Attach(::CreateDIBPatternBrush(hPackedDIB, nUsage)); }
        !           241: inline BOOL CBrush::CreatePatternBrush(CBitmap* pBitmap)
        !           242:        { return Attach(::CreatePatternBrush((HBITMAP)pBitmap->m_hObject)); }
        !           243: 
        !           244: // CFont inline functions
        !           245: inline CFont* CFont::FromHandle(HFONT hFont)
        !           246:        { return (CFont*) CGdiObject::FromHandle(hFont); }
        !           247: inline CFont::CFont() 
        !           248:        { }
        !           249: inline BOOL CFont::CreateFontIndirect(LPLOGFONT lpLogFont)
        !           250:        { return Attach(::CreateFontIndirect(lpLogFont)); }
        !           251: inline BOOL CFont::CreateFont(int nHeight, int nWidth, int nEscapement,
        !           252:                int nOrientation, int nWeight, BYTE bItalic, BYTE bUnderline,
        !           253:                BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision,
        !           254:                BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndFamily,
        !           255:                LPCSTR lpFacename)
        !           256:        { return Attach(::CreateFont(nHeight, nWidth, nEscapement,
        !           257:                nOrientation, nWeight, bItalic, bUnderline, cStrikeOut,
        !           258:                nCharSet, nOutPrecision, nClipPrecision, nQuality,
        !           259:                nPitchAndFamily, lpFacename)); }
        !           260: 
        !           261: // CBitmap inline functions
        !           262: inline CBitmap* CBitmap::FromHandle(HBITMAP hBitmap)
        !           263:        { return (CBitmap*) CGdiObject::FromHandle(hBitmap); }
        !           264: inline CBitmap::CBitmap() 
        !           265:        { }
        !           266: inline BOOL CBitmap::CreateBitmap(int nWidth, int nHeight, BYTE nPlanes,
        !           267:         BYTE nBitcount, const void FAR* lpBits)
        !           268:        { return Attach(::CreateBitmap(nWidth, nHeight, nPlanes, nBitcount, lpBits)); }
        !           269: inline BOOL CBitmap::CreateBitmapIndirect(LPBITMAP lpBitmap)
        !           270:        { return Attach(::CreateBitmapIndirect(lpBitmap)); }
        !           271: 
        !           272: inline DWORD CBitmap::SetBitmapBits(DWORD dwCount, const void FAR* lpBits)
        !           273:        { return ::SetBitmapBits((HBITMAP)m_hObject, dwCount, (const BYTE*)lpBits); }
        !           274: inline DWORD CBitmap::GetBitmapBits(DWORD dwCount, void FAR* lpBits) const
        !           275:        { return ::GetBitmapBits((HBITMAP)m_hObject, dwCount, lpBits); }
        !           276: inline CSize CBitmap::SetBitmapDimension(int nWidth, int nHeight)
        !           277: #ifdef _NTWIN
        !           278:        { SIZE size; 
        !           279:                VERIFY(::SetBitmapDimensionEx((HBITMAP)m_hObject, nWidth, nHeight, &size)); 
        !           280:                return size; }
        !           281: #else
        !           282:        { return ::SetBitmapDimension((HBITMAP)m_hObject, nWidth, nHeight); }
        !           283: #endif
        !           284: 
        !           285: inline CSize CBitmap::GetBitmapDimension() const
        !           286: #ifdef _NTWIN
        !           287:        { SIZE size; 
        !           288:                VERIFY(::GetBitmapDimensionEx((HBITMAP)m_hObject, &size)); 
        !           289:                return size; }
        !           290: #else
        !           291:        { return ::GetBitmapDimension((HBITMAP)m_hObject); }
        !           292: #endif
        !           293: inline BOOL CBitmap::LoadBitmap(LPCSTR lpBitmapName)
        !           294:        { return Attach(::LoadBitmap(AfxGetResourceHandle(), lpBitmapName));}
        !           295: inline BOOL CBitmap::LoadBitmap(UINT nIDBitmap)
        !           296:        { return Attach(::LoadBitmap(AfxGetResourceHandle(),
        !           297:        MAKEINTRESOURCE(nIDBitmap))); }
        !           298: inline BOOL CBitmap::LoadOEMBitmap(UINT nIDBitmap)
        !           299:        { return Attach(::LoadBitmap(NULL, MAKEINTRESOURCE(nIDBitmap))); }
        !           300: inline BOOL CBitmap::CreateCompatibleBitmap(CDC* pDC, int nWidth, int nHeight)
        !           301:        { return Attach(::CreateCompatibleBitmap(pDC->m_hDC, nWidth, nHeight)); }
        !           302: inline BOOL CBitmap::CreateDiscardableBitmap(CDC* pDC, int nWidth, int nHeight)
        !           303:        { return Attach(::CreateDiscardableBitmap(pDC->m_hDC, nWidth, nHeight)); }
        !           304: 
        !           305: // CPalette inline functions
        !           306: inline CPalette* CPalette::FromHandle(HPALETTE hPalette)
        !           307:        { return (CPalette*) CGdiObject::FromHandle(hPalette); }
        !           308: inline CPalette::CPalette() 
        !           309:        { }
        !           310: inline BOOL CPalette::CreatePalette(LPLOGPALETTE lpLogPalette)
        !           311:        { return Attach(::CreatePalette(lpLogPalette)); }
        !           312: inline UINT CPalette::GetPaletteEntries(UINT nStartIndex, UINT nNumEntries,
        !           313:                LPPALETTEENTRY lpPaletteColors) const
        !           314:        { return ::GetPaletteEntries((HPALETTE)m_hObject, nStartIndex,
        !           315:                nNumEntries, lpPaletteColors); }
        !           316: inline UINT CPalette::SetPaletteEntries(UINT nStartIndex, UINT nNumEntries,
        !           317:                LPPALETTEENTRY lpPaletteColors)
        !           318:        { return ::SetPaletteEntries((HPALETTE)m_hObject, nStartIndex,
        !           319:                nNumEntries, lpPaletteColors); }
        !           320: inline void CPalette::AnimatePalette(UINT nStartIndex, UINT nNumEntries,
        !           321:                LPPALETTEENTRY lpPaletteColors)
        !           322:        { ::AnimatePalette((HPALETTE)m_hObject, nStartIndex, nNumEntries,
        !           323:                lpPaletteColors); }
        !           324: inline UINT CPalette::GetNearestPaletteIndex(DWORD crColor) const
        !           325:        { return ::GetNearestPaletteIndex((HPALETTE)m_hObject, crColor); }
        !           326: inline BOOL CPalette::ResizePalette(UINT nNumEntries)
        !           327:        { return ::ResizePalette((HPALETTE)m_hObject, nNumEntries); }
        !           328: 
        !           329: 
        !           330: // CRgn inline functions
        !           331: inline CRgn* CRgn::FromHandle(HRGN hRgn)
        !           332:        { return (CRgn*) CGdiObject::FromHandle(hRgn); }
        !           333: inline CRgn::CRgn() 
        !           334:        { }
        !           335: inline BOOL CRgn::CreateRectRgn(int x1, int y1, int x2, int y2)
        !           336:        { return Attach(::CreateRectRgn(x1, y1, x2, y2)); }
        !           337: inline BOOL CRgn::CreateRectRgnIndirect(LPRECT lpRect)
        !           338:        { return Attach(::CreateRectRgnIndirect(lpRect)); }
        !           339: inline BOOL CRgn::CreateEllipticRgn(int x1, int y1, int x2, int y2)
        !           340:        { return Attach(::CreateEllipticRgn(x1, y1, x2, y2)); }
        !           341: inline BOOL CRgn::CreateEllipticRgnIndirect(LPRECT lpRect)
        !           342:        { return Attach(::CreateEllipticRgnIndirect(lpRect)); }
        !           343: inline BOOL CRgn::CreatePolygonRgn(LPPOINT lpPoints, int nCount, int nMode)
        !           344:        { return Attach(::CreatePolygonRgn(lpPoints, nCount, nMode)); }
        !           345: inline BOOL CRgn::CreatePolyPolygonRgn(LPPOINT lpPoints, LPINT lpPolyCounts, int nCount, int nPolyFillMode)
        !           346:        { return Attach(::CreatePolyPolygonRgn(lpPoints, lpPolyCounts, nCount, nPolyFillMode)); }
        !           347: inline BOOL CRgn::CreateRoundRectRgn(int x1, int y1, int x2, int y2, int x3, int y3)
        !           348:        { return Attach(::CreateRoundRectRgn(x1, y1, x2, y2, x3, y3)); }
        !           349: inline void CRgn::SetRectRgn(int x1, int y1, int x2, int y2)
        !           350:        { ::SetRectRgn((HRGN)m_hObject, x1, y1, x2, y2); }
        !           351: inline void CRgn::SetRectRgn(LPRECT lpRect)
        !           352:        { ::SetRectRgn((HRGN)m_hObject, lpRect->left, lpRect->top, lpRect->right, lpRect->bottom); }
        !           353: inline int CRgn::CombineRgn(CRgn* pRgn1, CRgn* pRgn2, int nCombineMode)
        !           354:        { return ::CombineRgn((HRGN)m_hObject, (HRGN)pRgn1->m_hObject, 
        !           355:                (HRGN)pRgn2->GetSafeHandle(), nCombineMode); }
        !           356: inline int CRgn::CopyRgn(CRgn* pRgnSrc)
        !           357:        { return ::CombineRgn((HRGN)m_hObject, (HRGN)pRgnSrc->m_hObject, NULL, RGN_COPY); }
        !           358: inline BOOL CRgn::EqualRgn(CRgn* pRgn) const
        !           359:        { return ::EqualRgn((HRGN)m_hObject, (HRGN)pRgn->m_hObject); }
        !           360: inline int CRgn::OffsetRgn(int x, int y)
        !           361:        { return ::OffsetRgn((HRGN)m_hObject, x, y); }
        !           362: inline int CRgn::OffsetRgn(POINT point)
        !           363:        { return ::OffsetRgn((HRGN)m_hObject, point.x, point.y); }
        !           364: inline int CRgn::GetRgnBox(LPRECT lpRect) const
        !           365:        { return ::GetRgnBox((HRGN)m_hObject, lpRect); }
        !           366: inline BOOL CRgn::PtInRegion(int x, int y) const
        !           367:        { return ::PtInRegion((HRGN)m_hObject, x, y); }
        !           368: inline BOOL CRgn::PtInRegion(POINT point) const
        !           369:        { return ::PtInRegion((HRGN)m_hObject, point.x, point.y); }
        !           370: inline BOOL CRgn::RectInRegion(LPRECT lpRect) const
        !           371:        { return ::RectInRegion((HRGN)m_hObject, lpRect); }
        !           372: 
        !           373: // CDC inline functions
        !           374: inline HDC CDC::GetSafeHdc() const
        !           375:        { return this == NULL ? NULL : m_hDC; }
        !           376: inline CDC::CDC() 
        !           377:        { m_hDC = NULL; }
        !           378: #ifdef _NTWIN
        !           379: //REVIEW: NT Header file difference
        !           380: inline BOOL CDC::CreateDC(LPCSTR lpDriverName,
        !           381:        LPCSTR lpDeviceName, LPCSTR lpOutput,
        !           382:        const void FAR* lpInitData)
        !           383:        { return Attach(::CreateDC(lpDriverName,
        !           384:                lpDeviceName, lpOutput, (const DEVMODE*)lpInitData)); }
        !           385: inline BOOL CDC::CreateIC(LPCSTR lpDriverName,
        !           386:        LPCSTR lpDeviceName, LPCSTR lpOutput,
        !           387:        const void FAR* lpInitData)
        !           388:        { return Attach(::CreateIC(lpDriverName,
        !           389:                lpDeviceName, lpOutput, (LPDEVMODE)lpInitData)); }
        !           390: #else
        !           391: inline BOOL CDC::CreateIC(LPCSTR lpDriverName,
        !           392:        LPCSTR lpDeviceName, LPCSTR lpOutput,
        !           393:        const void FAR* lpInitData)
        !           394:        { return Attach(::CreateIC(lpDriverName,
        !           395:                lpDeviceName, lpOutput, lpInitData)); }
        !           396: inline BOOL CDC::CreateDC(LPCSTR lpDriverName,
        !           397:        LPCSTR lpDeviceName, LPCSTR lpOutput,
        !           398:        const void FAR* lpInitData)
        !           399:        { return Attach(::CreateDC(lpDriverName,
        !           400:                lpDeviceName, lpOutput, lpInitData)); }
        !           401: #endif
        !           402: inline BOOL CDC::CreateCompatibleDC(CDC* pDC)
        !           403:        { return Attach(::CreateCompatibleDC(pDC->GetSafeHdc())); }
        !           404: inline int CDC::ExcludeUpdateRgn(CWnd* pWnd)
        !           405:        { return ::ExcludeUpdateRgn(m_hDC, pWnd->m_hWnd); }
        !           406: #ifndef _NTWIN
        !           407: inline CPoint CDC::GetDCOrg() const
        !           408:        { return ::GetDCOrg(m_hDC); }
        !           409: #endif
        !           410: inline int CDC::SaveDC() const
        !           411:        { return ::SaveDC(m_hDC); }
        !           412: inline BOOL CDC::RestoreDC(int nSavedDC)
        !           413:        { return ::RestoreDC(m_hDC, nSavedDC); }
        !           414: inline int CDC::GetDeviceCaps(int nIndex) const
        !           415:        { return ::GetDeviceCaps(m_hDC, nIndex); }
        !           416: 
        !           417: inline CPoint CDC::GetBrushOrg() const
        !           418: #ifdef _NTWIN
        !           419:        { POINT point;
        !           420:                VERIFY(::GetBrushOrgEx(m_hDC, &point));
        !           421:                return point; }
        !           422: #else
        !           423:        { return ::GetBrushOrg(m_hDC); }
        !           424: #endif
        !           425: 
        !           426: inline CPoint CDC::SetBrushOrg(int x, int y)
        !           427: #ifdef _NTWIN
        !           428:        { POINT point;
        !           429:                VERIFY(::SetBrushOrgEx(m_hDC, x, y, &point));
        !           430:                return point; }
        !           431: #else
        !           432:        { return ::SetBrushOrg(m_hDC, x, y); }
        !           433: #endif
        !           434: 
        !           435: inline CPoint CDC::SetBrushOrg(POINT point)
        !           436: #ifdef _NTWIN
        !           437:        { VERIFY(::SetBrushOrgEx(m_hDC, point.x, point.y, &point));
        !           438:                return point; }
        !           439: #else
        !           440:        { return ::SetBrushOrg(m_hDC, point.x, point.y); }
        !           441: #endif
        !           442: 
        !           443: inline int CDC::EnumObjects(int nObjectType, 
        !           444:                        int (FAR PASCAL EXPORT* lpfn)(LPSTR, LPSTR), LPSTR lpData)
        !           445: #ifdef STRICT
        !           446:        { return ::EnumObjects(m_hDC, nObjectType, (GOBJENUMPROC)lpfn, (LPARAM)lpData); }
        !           447: #else
        !           448:        { return ::EnumObjects(m_hDC, nObjectType, (GOBJENUMPROC)lpfn, lpData); }
        !           449: #endif
        !           450: inline CGdiObject* CDC::SelectObject(CGdiObject* pObject)
        !           451:        { return SelectGdiObject(m_hDC, pObject->m_hObject); }
        !           452: inline CGdiObject* CDC::SelectStockObject(int nIndex)
        !           453:        { ASSERT(::GetStockObject(nIndex) != NULL);
        !           454:                return SelectGdiObject(m_hDC, ::GetStockObject(nIndex)); }
        !           455: inline CPen* CDC::SelectObject(CPen* pPen)
        !           456:        { return (CPen*) SelectGdiObject(m_hDC, pPen->m_hObject); }
        !           457: inline CBrush* CDC::SelectObject(CBrush* pBrush)
        !           458:        { return (CBrush*) SelectGdiObject(m_hDC, pBrush->m_hObject); }
        !           459: inline CFont* CDC::SelectObject(CFont* pFont)
        !           460:        { return (CFont*) SelectGdiObject(m_hDC, pFont->m_hObject); }
        !           461: inline CBitmap* CDC::SelectObject(CBitmap* pBitmap)
        !           462:        { return (CBitmap*) SelectGdiObject(m_hDC, pBitmap->m_hObject);}
        !           463: inline int CDC::SelectObject(CRgn* pRgn)
        !           464:        { return (int)::SelectObject(m_hDC, pRgn->m_hObject); }
        !           465: inline DWORD CDC::GetNearestColor(DWORD crColor) const
        !           466:        { return ::GetNearestColor(m_hDC, crColor); }
        !           467: inline UINT CDC::RealizePalette()
        !           468:        { return ::RealizePalette(m_hDC); }
        !           469: inline void CDC::UpdateColors()
        !           470:        { ::UpdateColors(m_hDC); }
        !           471: inline DWORD CDC::GetBkColor() const
        !           472:        { return ::GetBkColor(m_hDC); }
        !           473: inline DWORD CDC::SetBkColor(DWORD crColor)
        !           474:        { return ::SetBkColor(m_hDC, crColor); }
        !           475: inline int CDC::GetBkMode() const
        !           476:        { return ::GetBkMode(m_hDC); }
        !           477: inline int CDC::SetBkMode(int nBkMode)
        !           478:        { return ::SetBkMode(m_hDC, nBkMode); }
        !           479: inline int CDC::GetPolyFillMode() const
        !           480:        { return ::GetPolyFillMode(m_hDC); }
        !           481: inline int CDC::SetPolyFillMode(int nPolyFillMode)
        !           482:        { return ::SetPolyFillMode(m_hDC, nPolyFillMode); }
        !           483: inline int CDC::GetROP2() const
        !           484:        { return ::GetROP2(m_hDC); }
        !           485: inline int CDC::SetROP2(int nDrawMode)
        !           486:        { return ::SetROP2(m_hDC, nDrawMode); }
        !           487: inline int CDC::GetStretchBltMode() const
        !           488:        { return ::GetStretchBltMode(m_hDC); }
        !           489: inline int CDC::SetStretchBltMode(int nStretchMode)
        !           490:        { return ::SetStretchBltMode(m_hDC, nStretchMode); }
        !           491: inline DWORD CDC::GetTextColor() const
        !           492:        { return ::GetTextColor(m_hDC); }
        !           493: inline DWORD CDC::SetTextColor(DWORD crColor)
        !           494:        { return ::SetTextColor(m_hDC, crColor); }
        !           495: inline int CDC::GetMapMode() const
        !           496:        { return ::GetMapMode(m_hDC); }
        !           497: inline int CDC::SetMapMode(int nMapMode)
        !           498:        { return ::SetMapMode(m_hDC, nMapMode); }
        !           499: inline CPoint CDC::GetViewportOrg() const
        !           500: #ifdef _NTWIN
        !           501:        { POINT point;
        !           502:                VERIFY(::GetViewportOrgEx(m_hDC, &point));
        !           503:                return point; }
        !           504: #else
        !           505:        { return ::GetViewportOrg(m_hDC); }
        !           506: #endif
        !           507: inline CPoint CDC::SetViewportOrg(int x, int y)
        !           508: #ifdef _NTWIN
        !           509:        { POINT point;
        !           510:                VERIFY(::SetViewportOrgEx(m_hDC, x, y, &point));
        !           511:                return point; }
        !           512: #else
        !           513:        { return ::SetViewportOrg(m_hDC, x, y); }
        !           514: #endif
        !           515: inline CPoint CDC::SetViewportOrg(POINT point)
        !           516: #ifdef _NTWIN
        !           517:        { VERIFY(::SetViewportOrgEx(m_hDC, point.x, point.y, &point));
        !           518:                return point; }
        !           519: #else
        !           520:        { return ::SetViewportOrg(m_hDC, point.x, point.y); }
        !           521: #endif
        !           522: inline CPoint CDC::OffsetViewportOrg(int nWidth, int nHeight)
        !           523: #ifdef _NTWIN
        !           524:        { POINT point;
        !           525:                VERIFY(::OffsetViewportOrgEx(m_hDC, nWidth, nHeight, &point));
        !           526:                return point; }
        !           527: #else
        !           528:        { return ::OffsetViewportOrg(m_hDC, nWidth, nHeight); }
        !           529: #endif
        !           530: inline CSize CDC::GetViewportExt() const
        !           531: #ifdef _NTWIN
        !           532:        { SIZE size;
        !           533:                VERIFY(::GetViewportExtEx(m_hDC, &size));
        !           534:                return size; }
        !           535: #else
        !           536:        { return ::GetViewportExt(m_hDC); }
        !           537: #endif
        !           538: inline CSize CDC::SetViewportExt(int x, int y)
        !           539: #ifdef _NTWIN
        !           540:        { SIZE size;
        !           541:                VERIFY(::SetViewportExtEx(m_hDC, x, y, &size));
        !           542:                return size; }
        !           543: #else
        !           544:        { return ::SetViewportExt(m_hDC, x, y); }
        !           545: #endif
        !           546: inline CSize CDC::SetViewportExt(SIZE size)
        !           547: #ifdef _NTWIN
        !           548:        {  VERIFY(::SetViewportExtEx(m_hDC, size.cx, size.cy, &size));
        !           549:                return size; }
        !           550: #else
        !           551:        { return ::SetViewportExt(m_hDC, size.cx, size.cy); }
        !           552: #endif
        !           553: inline CSize CDC::ScaleViewportExt(int xNum, int xDenom, int yNum, int yDenom)
        !           554: #ifdef _NTWIN
        !           555:        { SIZE size;
        !           556:                VERIFY(::ScaleViewportExtEx(m_hDC, xNum, xDenom, yNum, yDenom, &size));
        !           557:                return size; }
        !           558: #else
        !           559:        { return ::ScaleViewportExt(m_hDC, xNum, xDenom, yNum, yDenom);}
        !           560: #endif
        !           561: inline CPoint CDC::GetWindowOrg() const
        !           562: #ifdef _NTWIN
        !           563:        { POINT point;
        !           564:                VERIFY(::GetWindowOrgEx(m_hDC, &point));
        !           565:                return point; }
        !           566: #else
        !           567:        { return ::GetWindowOrg(m_hDC); }
        !           568: #endif
        !           569: inline CPoint CDC::SetWindowOrg(int x, int y)
        !           570: #ifdef _NTWIN
        !           571:        { POINT point;
        !           572:                VERIFY(::SetWindowOrgEx(m_hDC, x, y, &point));
        !           573:                return point; }
        !           574: #else
        !           575:        { return ::SetWindowOrg(m_hDC, x, y); }
        !           576: #endif
        !           577: inline CPoint CDC::SetWindowOrg(POINT point)
        !           578: #ifdef _NTWIN
        !           579:        { VERIFY(::SetWindowOrgEx(m_hDC, point.x, point.y, &point));
        !           580:                return point; }
        !           581: #else
        !           582:        { return ::SetWindowOrg(m_hDC, point.x, point.y); }
        !           583: #endif
        !           584: inline CPoint CDC::OffsetWindowOrg(int nWidth, int nHeight)
        !           585: #ifdef _NTWIN
        !           586:        { POINT point;
        !           587:                VERIFY(::OffsetWindowOrgEx(m_hDC, nWidth, nHeight, &point));
        !           588:                return point; }
        !           589: #else
        !           590:        { return ::OffsetWindowOrg(m_hDC, nWidth, nHeight); }
        !           591: #endif
        !           592: inline CSize CDC::SetWindowExt(SIZE size)
        !           593: #ifdef _NTWIN
        !           594:        { VERIFY(::SetWindowExtEx(m_hDC, size.cx, size.cy, &size));
        !           595:                return size; }
        !           596: #else
        !           597:        { return ::SetWindowExt(m_hDC, size.cx, size.cy); }
        !           598: #endif
        !           599: inline CSize CDC::ScaleWindowExt(int xNum, int xDenom, int yNum, int yDenom)
        !           600: #ifdef _NTWIN
        !           601:        { SIZE size;
        !           602:                VERIFY(::ScaleWindowExtEx(m_hDC, xNum, xDenom, yNum, yDenom, &size));
        !           603:                return size; }
        !           604: #else
        !           605:        { return ::ScaleWindowExt(m_hDC, xNum, xDenom, yNum, yDenom);}
        !           606: #endif
        !           607: 
        !           608: inline void CDC::DPtoLP(LPPOINT lpPoints, int nCount /* = 1 */) const
        !           609:        { VERIFY(::DPtoLP(m_hDC, lpPoints, nCount)); }
        !           610: inline void CDC::DPtoLP(LPRECT lpRect) const
        !           611:        { VERIFY(::DPtoLP(m_hDC, (LPPOINT)lpRect, 2)); }
        !           612: inline void CDC::LPtoDP(LPPOINT lpPoints, int nCount /* = 1 */) const
        !           613:        { VERIFY(::LPtoDP(m_hDC, lpPoints, nCount)); }
        !           614: inline void CDC::LPtoDP(LPRECT lpRect) const
        !           615:        { VERIFY(::LPtoDP(m_hDC, (LPPOINT)lpRect, 2)); }
        !           616: inline BOOL CDC::FillRgn(CRgn* pRgn, CBrush* pBrush)
        !           617:        { return ::FillRgn(m_hDC, (HRGN)pRgn->m_hObject, (HBRUSH)pBrush->m_hObject); }
        !           618: inline BOOL CDC::FrameRgn(CRgn* pRgn, CBrush* pBrush, int nWidth, int nHeight)
        !           619:        { return ::FrameRgn(m_hDC, (HRGN)pRgn->m_hObject, (HBRUSH)pBrush->m_hObject,
        !           620:                nWidth, nHeight); }
        !           621: inline BOOL CDC::InvertRgn(CRgn* pRgn)
        !           622:        { return ::InvertRgn(m_hDC, (HRGN)pRgn->m_hObject); }
        !           623: inline BOOL CDC::PaintRgn(CRgn* pRgn)
        !           624:        { return ::PaintRgn(m_hDC, (HRGN)pRgn->m_hObject); }
        !           625: inline int CDC::GetClipBox(LPRECT lpRect) const
        !           626:        { return ::GetClipBox(m_hDC, lpRect); }
        !           627: inline int CDC::SelectClipRgn(CRgn* pRgn)
        !           628:        { return ::SelectClipRgn(m_hDC, (HRGN)pRgn->GetSafeHandle()); }
        !           629: inline int CDC::ExcludeClipRect(int x1, int y1, int x2, int y2)
        !           630:        { return ::ExcludeClipRect(m_hDC, x1, y1, x2, y2); }
        !           631: inline int CDC::ExcludeClipRect(LPRECT lpRect)
        !           632:        { return ::ExcludeClipRect(m_hDC, lpRect->left, lpRect->top,
        !           633:                lpRect->right, lpRect->bottom); }
        !           634: inline int CDC::IntersectClipRect(int x1, int y1, int x2, int y2)
        !           635:        { return ::IntersectClipRect(m_hDC, x1, y1, x2, y2); }
        !           636: inline int CDC::IntersectClipRect(LPRECT lpRect)
        !           637:        { return ::IntersectClipRect(m_hDC, lpRect->left, lpRect->top,
        !           638:                lpRect->right, lpRect->bottom); }
        !           639: inline int CDC::OffsetClipRgn(int x, int y)
        !           640:        { return ::OffsetClipRgn(m_hDC, x, y); }
        !           641: inline int CDC::OffsetClipRgn(SIZE size)
        !           642:        { return ::OffsetClipRgn(m_hDC, size.cx, size.cy); }
        !           643: inline BOOL CDC::PtVisible(int x, int y) const
        !           644:        { return ::PtVisible(m_hDC, x, y); }
        !           645: inline BOOL CDC::PtVisible(POINT point) const
        !           646:        { return ::PtVisible(m_hDC, point.x, point.y); }
        !           647: inline BOOL CDC::RectVisible(LPRECT lpRect) const
        !           648:        { return ::RectVisible(m_hDC, lpRect); }
        !           649: inline CPoint CDC::GetCurrentPosition() const
        !           650: #ifdef _NTWIN
        !           651:        { POINT point;
        !           652:                VERIFY(::GetCurrentPositionEx(m_hDC, &point));
        !           653:                return point; }
        !           654: #else
        !           655:        { return ::GetCurrentPosition(m_hDC); }
        !           656: #endif
        !           657: inline CPoint CDC::MoveTo(int x, int y)
        !           658: #ifdef _NTWIN
        !           659:        { POINT point;
        !           660:                VERIFY(::MoveToEx(m_hDC, x, y, &point));
        !           661:                return point; }
        !           662: #else
        !           663:        { return ::MoveTo(m_hDC, x, y); }
        !           664: #endif
        !           665: inline CPoint CDC::MoveTo(POINT point)
        !           666: #ifdef _NTWIN
        !           667:        { VERIFY(::MoveToEx(m_hDC, point.x, point.y, &point));
        !           668:                return point; }
        !           669: #else
        !           670:        { return ::MoveTo(m_hDC, point.x, point.y); }
        !           671: #endif
        !           672: inline BOOL CDC::LineTo(int x, int y)
        !           673:        { return ::LineTo(m_hDC, x, y); }
        !           674: inline BOOL CDC::LineTo(POINT point)
        !           675:        { return ::LineTo(m_hDC, point.x, point.y); }
        !           676: inline BOOL CDC::Arc(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4)
        !           677:        { return ::Arc(m_hDC, x1, y1, x2, y2, x3, y3, x4, y4); }
        !           678: inline BOOL CDC::Arc(LPRECT lpRect, POINT ptStart, POINT ptEnd)
        !           679:        { return ::Arc(m_hDC, lpRect->left, lpRect->top,
        !           680:                lpRect->right, lpRect->bottom, ptStart.x, ptStart.y,
        !           681:                ptEnd.x, ptEnd.y); }
        !           682: inline BOOL CDC::Polyline(LPPOINT lpPoints, int nCount)
        !           683:        { return ::Polyline(m_hDC, lpPoints, nCount); }
        !           684: inline void CDC::FillRect(LPRECT lpRect, CBrush* pBrush)
        !           685:        { ::FillRect(m_hDC, lpRect, (HBRUSH)pBrush->m_hObject); }
        !           686: inline void CDC::FrameRect(LPRECT lpRect, CBrush* pBrush)
        !           687:        { ::FrameRect(m_hDC, lpRect, (HBRUSH)pBrush->m_hObject); }
        !           688: inline void CDC::InvertRect(LPRECT lpRect)
        !           689:        { ::InvertRect(m_hDC, lpRect); }
        !           690: inline BOOL CDC::DrawIcon(int x, int y, HICON hIcon)
        !           691:        { return ::DrawIcon(m_hDC, x, y, hIcon); }
        !           692: inline BOOL CDC::DrawIcon(POINT point, HICON hIcon)
        !           693:        { return ::DrawIcon(m_hDC, point.x, point.y, hIcon); }
        !           694: inline BOOL CDC::Chord(int x1, int y1, int x2, int y2, int x3, int y3,
        !           695:        int x4, int y4)
        !           696:        { return ::Chord(m_hDC, x1, y1, x2, y2, x3, y3, x4, y4); }
        !           697: inline BOOL CDC::Chord(LPRECT lpRect, POINT ptStart, POINT ptEnd)
        !           698:        { return ::Chord(m_hDC, lpRect->left, lpRect->top,
        !           699:                lpRect->right, lpRect->bottom, ptStart.x, ptStart.y,
        !           700:                ptEnd.x, ptEnd.y); }
        !           701: inline void CDC::DrawFocusRect(LPRECT lpRect)
        !           702:        { ::DrawFocusRect(m_hDC, lpRect); }
        !           703: inline BOOL CDC::Ellipse(int x1, int y1, int x2, int y2)
        !           704:        { return ::Ellipse(m_hDC, x1, y1, x2, y2); }
        !           705: inline BOOL CDC::Ellipse(LPRECT lpRect)
        !           706:        { return ::Ellipse(m_hDC, lpRect->left, lpRect->top,
        !           707:                lpRect->right, lpRect->bottom); }
        !           708: inline BOOL CDC::Pie(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4)
        !           709:        { return ::Pie(m_hDC, x1, y1, x2, y2, x3, y3, x4, y4); }
        !           710: inline BOOL CDC::Pie(LPRECT lpRect, POINT ptStart, POINT ptEnd)
        !           711:        { return ::Pie(m_hDC, lpRect->left, lpRect->top,
        !           712:                lpRect->right, lpRect->bottom, ptStart.x, ptStart.y,
        !           713:                ptEnd.x, ptEnd.y); }
        !           714: inline BOOL CDC::Polygon(LPPOINT lpPoints, int nCount)
        !           715:        { return ::Polygon(m_hDC, lpPoints, nCount); }
        !           716: inline BOOL CDC::PolyPolygon(LPPOINT lpPoints, LPINT lpPolyCounts, int nCount)
        !           717:        { return ::PolyPolygon(m_hDC, lpPoints, lpPolyCounts, nCount); }
        !           718: inline BOOL CDC::Rectangle(int x1, int y1, int x2, int y2)
        !           719:        { return ::Rectangle(m_hDC, x1, y1, x2, y2); }
        !           720: inline BOOL CDC::Rectangle(LPRECT lpRect)
        !           721:        { return ::Rectangle(m_hDC, lpRect->left, lpRect->top,
        !           722:                lpRect->right, lpRect->bottom); }
        !           723: inline BOOL CDC::RoundRect(int x1, int y1, int x2, int y2, int x3, int y3)
        !           724:        { return ::RoundRect(m_hDC, x1, y1, x2, y2, x3, y3); }
        !           725: inline BOOL CDC::RoundRect(LPRECT lpRect, POINT point)
        !           726:        { return ::RoundRect(m_hDC, lpRect->left, lpRect->top,
        !           727:                lpRect->right, lpRect->bottom, point.x, point.y); }
        !           728: inline BOOL CDC::PatBlt(int x, int y, int nWidth, int nHeight, DWORD dwRop)
        !           729:        { return ::PatBlt(m_hDC, x, y, nWidth, nHeight, dwRop); }
        !           730: inline BOOL CDC::BitBlt(int x, int y, int nWidth, int nHeight, CDC* pSrcDC,
        !           731:        int xSrc, int ySrc, DWORD dwRop)
        !           732:        { return ::BitBlt(m_hDC, x, y, nWidth, nHeight,
        !           733:                pSrcDC->GetSafeHdc(), xSrc, ySrc, dwRop); }
        !           734: inline BOOL CDC::StretchBlt(int x, int y, int nWidth, int nHeight, CDC* pSrcDC,
        !           735:        int xSrc, int ySrc, int nSrcWidth, int nSrcHeight, DWORD dwRop)
        !           736:        { return ::StretchBlt(m_hDC, x, y, nWidth, nHeight,
        !           737:                pSrcDC->GetSafeHdc(), xSrc, ySrc, nSrcWidth, nSrcHeight,
        !           738:                dwRop); }
        !           739: inline DWORD CDC::GetPixel(int x, int y) const
        !           740:        { return ::GetPixel(m_hDC, x, y); }
        !           741: inline DWORD CDC::GetPixel(POINT point) const
        !           742:        { return ::GetPixel(m_hDC, point.x, point.y); }
        !           743: inline DWORD CDC::SetPixel(int x, int y, DWORD crColor)
        !           744:        { return ::SetPixel(m_hDC, x, y, crColor); }
        !           745: inline DWORD CDC::SetPixel(POINT point, DWORD crColor)
        !           746:        { return ::SetPixel(m_hDC, point.x, point.y, crColor); }
        !           747: inline BOOL CDC::FloodFill(int x, int y, DWORD crColor)
        !           748:        { return ::FloodFill(m_hDC, x, y, crColor); }
        !           749: inline BOOL CDC::ExtFloodFill(int x, int y, DWORD crColor, UINT nFillType)
        !           750:        { return ::ExtFloodFill(m_hDC, x, y, crColor, nFillType); }
        !           751: inline BOOL CDC::TextOut(int x, int y, const CString& str)
        !           752:        { return ::TextOut(m_hDC, x, y, (const char*)str, str.GetLength()); }
        !           753: inline BOOL CDC::TextOut(int x, int y, LPCSTR lpString, int nCount)
        !           754:        { return ::TextOut(m_hDC, x, y, lpString, nCount); }
        !           755: inline BOOL CDC::ExtTextOut(int x, int y, UINT nOptions, LPRECT lpRect,
        !           756:        LPCSTR lpString, UINT nCount, LPINT lpDxWidths)
        !           757:        { return ::ExtTextOut(m_hDC, x, y, nOptions, lpRect,
        !           758:                lpString, nCount, lpDxWidths); }
        !           759: inline CSize CDC::TabbedTextOut(int x, int y, LPCSTR lpString, int nCount,
        !           760:        int nTabPositions, LPINT lpnTabStopPositions, int nTabOrigin)
        !           761:        { return ::TabbedTextOut(m_hDC, x, y, (LPSTR)lpString, nCount,
        !           762:                nTabPositions, lpnTabStopPositions, nTabOrigin); }
        !           763: //NTHACK
        !           764: inline int CDC::DrawText(LPCSTR lpString, int nCount, LPRECT lpRect,
        !           765:                UINT nFormat)
        !           766:        { return ::DrawText(m_hDC, lpString, nCount, lpRect,
        !           767:                nFormat); }
        !           768: inline CSize CDC::GetTextExtent(LPCSTR lpString, int nCount) const
        !           769: #ifdef _NTWIN
        !           770:        { SIZE size;
        !           771:                VERIFY(::GetTextExtentPoint(m_hDC, lpString, nCount, &size));
        !           772:                return size; }
        !           773: #else
        !           774:        { return ::GetTextExtent(m_hDC, lpString, nCount); }
        !           775: #endif
        !           776: inline CSize CDC::GetTabbedTextExtent(LPCSTR lpString, int nCount,
        !           777:        int nTabPositions, LPINT lpnTabStopPositions) const
        !           778:        { return ::GetTabbedTextExtent(m_hDC, lpString, nCount,
        !           779:                nTabPositions, lpnTabStopPositions); }
        !           780: inline BOOL CDC::GrayString(CBrush* pBrush,
        !           781:        BOOL (FAR PASCAL EXPORT* lpfnOutput)(HDC, DWORD, int),
        !           782:                DWORD lpData, int nCount,
        !           783:                int x, int y, int nWidth, int nHeight)
        !           784:        { return ::GrayString(m_hDC, (HBRUSH)pBrush->m_hObject,
        !           785:                (GRAYSTRINGPROC)lpfnOutput, lpData, nCount, x, y, nWidth, nHeight); }
        !           786: inline UINT CDC::GetTextAlign() const
        !           787:        { return ::GetTextAlign(m_hDC); }
        !           788: inline UINT CDC::SetTextAlign(UINT nFlags)
        !           789:        { return ::SetTextAlign(m_hDC, nFlags); }
        !           790: inline int CDC::GetTextFace(int nCount, LPSTR lpFacename) const
        !           791:        { return ::GetTextFace(m_hDC, nCount, lpFacename); }
        !           792: inline BOOL CDC::GetTextMetrics(LPTEXTMETRIC lpMetrics) const
        !           793:        { return ::GetTextMetrics(m_hDC, lpMetrics); }
        !           794: inline int CDC::SetTextJustification(int nBreakExtra, int nBreakCount)
        !           795:        { return ::SetTextJustification(m_hDC, nBreakExtra,
        !           796:                nBreakCount); }
        !           797: inline int CDC::GetTextCharacterExtra() const
        !           798:        { return ::GetTextCharacterExtra(m_hDC); }
        !           799: inline int CDC::SetTextCharacterExtra(int nCharExtra)
        !           800:        { return ::SetTextCharacterExtra(m_hDC, nCharExtra); }
        !           801: inline BOOL CDC::GetCharWidth(UINT nFirstChar, UINT nLastChar, LPINT lpBuffer) const
        !           802:        { return ::GetCharWidth(m_hDC, nFirstChar, nLastChar,
        !           803:                lpBuffer); }
        !           804: inline DWORD CDC::SetMapperFlags(DWORD dwFlag)
        !           805:        { return ::SetMapperFlags(m_hDC, dwFlag); }
        !           806: inline CSize CDC::GetAspectRatioFilter() const
        !           807: #ifdef _NTWIN
        !           808:        { SIZE size;
        !           809:                VERIFY(::GetAspectRatioFilterEx(m_hDC, &size));
        !           810:                return size; }
        !           811: #else
        !           812:        { return ::GetAspectRatioFilter(m_hDC); }
        !           813: #endif
        !           814: inline BOOL CDC::ScrollDC(int dx, int dy, LPRECT lpRectScroll, LPRECT lpRectClip,
        !           815:                CRgn* pRgnUpdate, LPRECT lpRectUpdate)
        !           816:        { return ::ScrollDC(m_hDC, dx, dy, lpRectScroll,
        !           817:                lpRectClip, (HRGN)pRgnUpdate->GetSafeHandle(), lpRectUpdate); }
        !           818: inline BOOL CDC::PlayMetaFile(HANDLE hMF)
        !           819:        { return ::PlayMetaFile(m_hDC, (HMETAFILE)hMF); }
        !           820: inline CSize CDC::GetWindowExt() const
        !           821: #ifdef _NTWIN
        !           822:        { SIZE size;
        !           823:                VERIFY(::GetWindowExtEx(m_hDC, &size));
        !           824:                return size; }
        !           825: #else
        !           826:        { return ::GetWindowExt(m_hDC); }
        !           827: #endif
        !           828: inline CSize CDC::SetWindowExt(int x, int y)
        !           829: #ifdef _NTWIN
        !           830:        { SIZE size;
        !           831:                VERIFY(::SetWindowExtEx(m_hDC, x, y, &size));
        !           832:                return size; }
        !           833: #else
        !           834:        { return ::SetWindowExt(m_hDC, x, y); }
        !           835: #endif
        !           836: 
        !           837: // Printer Escape Functions
        !           838: inline int CDC::Escape(int nEscape, int nCount, LPCSTR lpInData, void FAR* lpOutData)
        !           839:        { return ::Escape(m_hDC, nEscape, nCount, lpInData, lpOutData);}
        !           840: 
        !           841: #ifndef _NTWIN
        !           842: inline int CDC::StartDoc(LPCSTR pDocName)
        !           843:        { return ::Escape(m_hDC, STARTDOC, _fstrlen(pDocName),
        !           844:                pDocName, NULL);}
        !           845: #endif
        !           846: 
        !           847: #if (WINVER >= 0x030a)
        !           848: inline BOOL CDC::QueryAbort() const
        !           849:        { return ::QueryAbort(m_hDC, 0); }
        !           850: inline int CDC::StartDoc(LPDOCINFO lpDocInfo)
        !           851:        { return ::StartDoc(m_hDC, lpDocInfo);}
        !           852: inline int CDC::StartPage()
        !           853:        { return ::StartPage(m_hDC); }
        !           854: inline int CDC::EndPage()
        !           855:        { return ::EndPage(m_hDC);}
        !           856: inline int CDC::SetAbortProc(BOOL (FAR PASCAL EXPORT* lpfn)(HDC, int))
        !           857:        { return ::SetAbortProc(m_hDC, (ABORTPROC)lpfn);}
        !           858: inline int CDC::AbortDoc()
        !           859:        { return ::AbortDoc(m_hDC);}
        !           860: inline int CDC::EndDoc()
        !           861:        { return ::EndDoc(m_hDC);}
        !           862: #else
        !           863: inline int CDC::StartPage()
        !           864:        { return 0; /* not implemented */ }
        !           865: inline int CDC::EndPage()
        !           866:        { return ::Escape(m_hDC, NEWFRAME, 0, NULL, NULL);}
        !           867: inline int CDC::SetAbortProc(BOOL (FAR PASCAL EXPORT* lpfn)(HDC, int))
        !           868:        { return ::Escape(m_hDC, SETABORTPROC, 0, (LPCSTR)lpfn, NULL);}
        !           869: inline int CDC::AbortDoc()
        !           870:        { return ::Escape(m_hDC, ABORTDOC, 0, NULL, NULL);}
        !           871: inline int CDC::EndDoc()
        !           872:        { return ::Escape(m_hDC, ENDDOC, 0, NULL, NULL);}
        !           873: #endif
        !           874: 
        !           875: // CDC 3.1 Specific functions
        !           876: #if (WINVER >= 0x030a)
        !           877: inline UINT CDC::SetBoundsRect(const RECT FAR* lpRectBounds, UINT flags)
        !           878:        { return ::SetBoundsRect(m_hDC, (LPRECT)lpRectBounds, flags); } //NTHACK
        !           879: inline UINT CDC::GetBoundsRect(LPRECT lpRectBounds, UINT flags)
        !           880:        { return ::GetBoundsRect(m_hDC, lpRectBounds, flags); }
        !           881: inline UINT CDC::GetOutlineTextMetrics(UINT cbData, OUTLINETEXTMETRIC FAR* lpotm) const
        !           882:        // REVIEW: NT header file difference
        !           883:        { return (UINT)::GetOutlineTextMetrics(m_hDC, cbData, lpotm); }
        !           884: inline BOOL CDC::GetCharABCWidths(UINT nFirst, UINT nLast, LPABC lpabc) const
        !           885:        { return ::GetCharABCWidths(m_hDC, nFirst, nLast, lpabc); }
        !           886: inline DWORD CDC::GetFontData(DWORD dwTable, DWORD dwOffset, LPVOID lpData, 
        !           887:        DWORD cbData) const
        !           888:        { return ::GetFontData(m_hDC, dwTable, dwOffset, lpData, cbData); }
        !           889: inline int CDC::GetKerningPairs(int nPairs, KERNINGPAIR FAR* lpkrnpair) const
        !           890:        { return ::GetKerningPairs(m_hDC, nPairs, lpkrnpair); }
        !           891: inline DWORD CDC::GetGlyphOutline(UINT nChar, UINT nFormat, GLYPHMETRICS FAR* lpgm, 
        !           892:                DWORD cbBuffer, void FAR* lpBuffer, const MAT2 FAR* lpmat2) const
        !           893:        { return ::GetGlyphOutline(m_hDC, nChar, nFormat, 
        !           894:                        lpgm, cbBuffer, lpBuffer, (MAT2*)lpmat2); } //NTHACK
        !           895: #endif /* WINVER >= 0x030a */
        !           896: 
        !           897: // CMetaFileDC inline functions
        !           898: inline CMetaFileDC::CMetaFileDC() 
        !           899:        { }
        !           900: inline BOOL CMetaFileDC::Create(LPCSTR lpFilename /* = NULL */)
        !           901:        { return Attach(::CreateMetaFile(lpFilename)); }
        !           902: inline HANDLE   CMetaFileDC::Close()
        !           903:        { return ::CloseMetaFile(Detach()); }
        !           904: inline BOOL CMetaFileDC::SelectObject(CGdiObject* pObject)
        !           905:        { return (BOOL)::SelectObject(m_hDC, pObject->m_hObject); }
        !           906: inline BOOL CMetaFileDC::SelectStockObject(int nIndex)
        !           907:        { ASSERT(::GetStockObject(nIndex) != NULL);
        !           908:                return (BOOL)::SelectObject(m_hDC, ::GetStockObject(nIndex)); }
        !           909: 
        !           910: 
        !           911: // CMenu inline functions
        !           912: inline CMenu::CMenu() 
        !           913:        { m_hMenu = NULL; }
        !           914: inline BOOL CMenu::CreateMenu()
        !           915:        { return Attach(::CreateMenu()); }
        !           916: inline BOOL CMenu::CreatePopupMenu()
        !           917:        { return Attach(::CreatePopupMenu()); }
        !           918: inline HMENU CMenu::GetSafeHmenu() const
        !           919:        { return this == NULL ? NULL : m_hMenu; }
        !           920: inline BOOL CMenu::DeleteMenu(UINT nPosition, UINT nFlags)
        !           921:        { return ::DeleteMenu(m_hMenu, nPosition, nFlags); }
        !           922: inline BOOL CMenu::AppendMenu(UINT nFlags, UINT nIDNewItem /* = 0 */, LPCSTR lpNewItem /* = NULL */)
        !           923:        { return ::AppendMenu(m_hMenu, nFlags, nIDNewItem,  lpNewItem); }
        !           924: inline BOOL CMenu::AppendMenu(UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp)
        !           925:        { return ::AppendMenu(m_hMenu, nFlags | MF_BITMAP, nIDNewItem,
        !           926:                MAKEINTRESOURCE(pBmp->m_hObject)); }
        !           927: inline BOOL CMenu::CheckMenuItem(UINT nIDCheckItem, UINT nCheck)
        !           928:        //REVIEW: NT header file difference
        !           929:        { return (BOOL)::CheckMenuItem(m_hMenu, nIDCheckItem, nCheck); }
        !           930: inline BOOL CMenu::EnableMenuItem(UINT nIDEnableItem, UINT nEnable)
        !           931:        { return ::EnableMenuItem(m_hMenu, nIDEnableItem, nEnable); }
        !           932: inline UINT CMenu::GetMenuItemCount() const
        !           933:        { return ::GetMenuItemCount(m_hMenu); }
        !           934: inline UINT CMenu::GetMenuItemID(int nPos) const
        !           935:        { return ::GetMenuItemID(m_hMenu, nPos); }
        !           936: inline UINT CMenu::GetMenuState(UINT nID, UINT nFlags) const
        !           937:        { return ::GetMenuState(m_hMenu, nID, nFlags); }
        !           938: inline int CMenu::GetMenuString(UINT nIDItem, LPSTR lpString, int nMaxCount,    UINT nFlags) const
        !           939:        { return ::GetMenuString(m_hMenu, nIDItem, lpString, nMaxCount, nFlags); }
        !           940: inline CMenu* CMenu::GetSubMenu(int nPos) const
        !           941:        { return CMenu::FromHandle(::GetSubMenu(m_hMenu, nPos)); }
        !           942: inline BOOL CMenu::InsertMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem /* = 0 */,
        !           943:                LPCSTR lpNewItem /* = NULL */)
        !           944:        { return ::InsertMenu(m_hMenu, nPosition, nFlags, nIDNewItem, lpNewItem); }
        !           945: inline BOOL CMenu::InsertMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp)
        !           946:        { return ::InsertMenu(m_hMenu, nPosition, nFlags | MF_BITMAP, nIDNewItem, MAKEINTRESOURCE(pBmp->m_hObject)); }
        !           947: inline BOOL CMenu::ModifyMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem /* = 0 */, LPCSTR lpNewItem /* = NULL */)
        !           948:        { return ::ModifyMenu(m_hMenu, nPosition, nFlags, nIDNewItem, lpNewItem); }
        !           949: inline BOOL CMenu::ModifyMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp)
        !           950:        { return ::ModifyMenu(m_hMenu, nPosition, nFlags | MF_BITMAP, nIDNewItem, MAKEINTRESOURCE(pBmp->m_hObject)); }
        !           951: inline BOOL CMenu::RemoveMenu(UINT nPosition, UINT nFlags)
        !           952:        { return ::RemoveMenu(m_hMenu, nPosition, nFlags); }
        !           953: inline BOOL CMenu::SetMenuItemBitmaps(UINT nPosition, UINT nFlags,
        !           954:                const CBitmap* pBmpUnchecked, const CBitmap* pBmpChecked)
        !           955:        { return ::SetMenuItemBitmaps(m_hMenu, nPosition, nFlags,
        !           956:                (HBITMAP)pBmpUnchecked->GetSafeHandle(),
        !           957:                (HBITMAP)pBmpChecked->GetSafeHandle()); }
        !           958: inline BOOL CMenu::LoadMenu(LPCSTR lpMenuName)
        !           959:        { return Attach(::LoadMenu(AfxGetResourceHandle(), lpMenuName)); }
        !           960: inline BOOL CMenu::LoadMenu(UINT nIDMenu)
        !           961:        { return Attach(::LoadMenu(AfxGetResourceHandle(),
        !           962:                        MAKEINTRESOURCE(nIDMenu))); }
        !           963: inline BOOL CMenu::LoadMenuIndirect(const void FAR* lpMenuTemplate)
        !           964:        { return Attach(::LoadMenuIndirect((LPVOID)lpMenuTemplate)); } //NTHACK
        !           965: inline BOOL CMenu::TrackPopupMenu(UINT nFlags, int x, int y,
        !           966:                                        const CWnd* pWnd, const RECT FAR* lpRect)
        !           967:        { return ::TrackPopupMenu(m_hMenu, nFlags, x, y, 0, pWnd->m_hWnd,
        !           968:                        lpRect); }
        !           969: 
        !           970: // CWnd 
        !           971: inline HWND CWnd::GetSafeHwnd() const
        !           972:        { return this == NULL ? NULL : m_hWnd; }
        !           973: inline CWnd::CWnd() 
        !           974:        { m_hWnd = NULL; }
        !           975: inline CWnd::CWnd(HWND hWnd)
        !           976:        { m_hWnd = hWnd; }
        !           977: inline DWORD CWnd::GetStyle() const
        !           978:        { return (DWORD)GetWindowLong(m_hWnd, GWL_STYLE); }
        !           979: inline DWORD CWnd::GetExStyle() const
        !           980:        { return (DWORD)GetWindowLong(m_hWnd, GWL_EXSTYLE); }
        !           981: inline LONG CWnd::SendMessage(UINT message, UINT wParam, LONG lParam)
        !           982:        { return ::SendMessage(m_hWnd, message, wParam, lParam); }
        !           983: inline BOOL CWnd::PostMessage(UINT message, UINT wParam, LONG lParam)
        !           984:        { return ::PostMessage(m_hWnd, message, wParam, lParam); }
        !           985: inline void CWnd::SetWindowText(LPCSTR lpString)
        !           986:        { ::SetWindowText(m_hWnd, lpString); }
        !           987: inline int CWnd::GetWindowText(LPSTR lpString, int nMaxCount) const
        !           988:        { return ::GetWindowText(m_hWnd, lpString, nMaxCount); }
        !           989: inline int CWnd::GetWindowTextLength() const
        !           990:        { return ::GetWindowTextLength(m_hWnd); }
        !           991: inline void CWnd::GetWindowText(CString& rString) const
        !           992:        { int nLen = GetWindowTextLength();
        !           993:                GetWindowText(rString.GetBufferSetLength(nLen), nLen+1); }
        !           994: inline void CWnd::SetFont(CFont* pFont, BOOL bRedraw /* = TRUE */)
        !           995:        { SendMessage(WM_SETFONT, (UINT)pFont->GetSafeHandle(), bRedraw); }
        !           996: inline CFont* CWnd::GetFont()
        !           997:        { return CFont::FromHandle((HFONT)SendMessage(WM_GETFONT)); }
        !           998: inline CMenu* CWnd::GetMenu() const
        !           999:        { return CMenu::FromHandle(::GetMenu(m_hWnd)); }
        !          1000: inline BOOL CWnd::SetMenu(CMenu* pMenu)
        !          1001:        { return ::SetMenu(m_hWnd, pMenu->GetSafeHmenu()); }
        !          1002: inline void CWnd::DrawMenuBar()
        !          1003:        { ::DrawMenuBar(m_hWnd); }
        !          1004: inline CMenu* CWnd::GetSystemMenu(BOOL bRevert) const
        !          1005:        { return CMenu::FromHandle(::GetSystemMenu(m_hWnd, bRevert)); }
        !          1006: inline BOOL CWnd::HiliteMenuItem(CMenu* pMenu, UINT nIDHiliteItem, UINT nHilite)
        !          1007:        { return ::HiliteMenuItem(m_hWnd, pMenu->m_hMenu, nIDHiliteItem, nHilite); }
        !          1008: inline int CWnd::GetDlgCtrlID() const
        !          1009:        { return ::GetDlgCtrlID(m_hWnd); }
        !          1010: inline void CWnd::CloseWindow()
        !          1011:        { ::CloseWindow(m_hWnd); }
        !          1012: inline BOOL CWnd::OpenIcon()
        !          1013:        { return ::OpenIcon(m_hWnd); }
        !          1014: inline BOOL CWnd::IsIconic() const
        !          1015:        { return ::IsIconic(m_hWnd); }
        !          1016: inline BOOL CWnd::IsZoomed() const
        !          1017:        { return ::IsZoomed(m_hWnd); }
        !          1018: inline void CWnd::MoveWindow(int x, int y, int nWidth, int nHeight, BOOL bRepaint /* = TRUE */)
        !          1019:        { ::MoveWindow(m_hWnd, x, y, nWidth, nHeight, bRepaint); }
        !          1020: inline void CWnd::MoveWindow(LPRECT lpRect, BOOL bRepaint /* = TRUE */)
        !          1021:        { ::MoveWindow(m_hWnd, lpRect->left, lpRect->top, lpRect->right - lpRect->left,
        !          1022:                        lpRect->bottom - lpRect->top, bRepaint); }
        !          1023: inline BOOL CWnd::SetWindowPos(const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags)
        !          1024: #if (WINVER >= 0x030a)
        !          1025:        { return ::SetWindowPos(m_hWnd, pWndInsertAfter->GetSafeHwnd(),
        !          1026:                x, y, cx, cy, nFlags); }
        !          1027: #else
        !          1028:        { ::SetWindowPos(m_hWnd, pWndInsertAfter->GetSafeHwnd(),
        !          1029:                x, y, cx, cy, nFlags); return TRUE; }
        !          1030: #endif /* WINVER >= 0x030a */
        !          1031: inline UINT CWnd::ArrangeIconicWindows()
        !          1032:        { return ::ArrangeIconicWindows(m_hWnd); }
        !          1033: inline void CWnd::BringWindowToTop()
        !          1034:        { ::BringWindowToTop(m_hWnd); }
        !          1035: inline void CWnd::GetWindowRect(LPRECT lpRect) const
        !          1036:        { ::GetWindowRect(m_hWnd, lpRect); }
        !          1037: inline void CWnd::GetClientRect(LPRECT lpRect) const
        !          1038:        { ::GetClientRect(m_hWnd, lpRect); }
        !          1039: #if (WINVER >= 0x030a)
        !          1040: inline BOOL CWnd::GetWindowPlacement(WINDOWPLACEMENT FAR* lpwndpl) const
        !          1041:        { return ::GetWindowPlacement(m_hWnd, lpwndpl); }
        !          1042: inline BOOL CWnd::SetWindowPlacement(const WINDOWPLACEMENT FAR* lpwndpl)
        !          1043:        { return ::SetWindowPlacement(m_hWnd, (WINDOWPLACEMENT*)lpwndpl); } //NTHACK
        !          1044: inline void CWnd::MapWindowPoints(CWnd* pwndTo, LPPOINT lpPoint, UINT nCount) const
        !          1045:        { ::MapWindowPoints(m_hWnd, pwndTo->GetSafeHwnd(), lpPoint, nCount); }
        !          1046: inline void CWnd::MapWindowPoints(CWnd* pwndTo, LPRECT lpRect) const
        !          1047:        { ::MapWindowPoints(m_hWnd, pwndTo->GetSafeHwnd(), (LPPOINT)lpRect, 2); }
        !          1048: #endif /* WINVER >= 0x030a */
        !          1049: inline void CWnd::ClientToScreen(LPPOINT lpPoint) const
        !          1050:        { ::ClientToScreen(m_hWnd, lpPoint); }
        !          1051: inline void CWnd::ClientToScreen(LPRECT lpRect) const
        !          1052:        { ::ClientToScreen(m_hWnd, (LPPOINT)lpRect);
        !          1053:                ::ClientToScreen(m_hWnd, ((LPPOINT)lpRect)+1); }
        !          1054: inline void CWnd::ScreenToClient(LPPOINT lpPoint) const
        !          1055:        { ::ScreenToClient(m_hWnd, lpPoint); }
        !          1056: inline void CWnd::ScreenToClient(LPRECT lpRect) const
        !          1057:        { ::ScreenToClient(m_hWnd, (LPPOINT)lpRect);
        !          1058:                ::ScreenToClient(m_hWnd, ((LPPOINT)lpRect)+1); }
        !          1059: inline CDC* CWnd::BeginPaint(LPPAINTSTRUCT lpPaint)
        !          1060:        { return CDC::FromHandle(::BeginPaint(m_hWnd, lpPaint)); }
        !          1061: inline void CWnd::EndPaint(LPPAINTSTRUCT lpPaint)
        !          1062:        { ::EndPaint(m_hWnd, lpPaint); }
        !          1063: inline CDC* CWnd::GetDC()
        !          1064:        { return CDC::FromHandle(::GetDC(m_hWnd)); }
        !          1065: #if (WINVER >= 0x030a)
        !          1066: inline CDC* CWnd::GetDCEx(CRgn* prgnClip, DWORD flags)
        !          1067:        { return CDC::FromHandle(::GetDCEx(m_hWnd, (HRGN)prgnClip->GetSafeHandle(), flags)); }
        !          1068: #endif /* WINVER >= 0x030a */
        !          1069: inline CDC* CWnd::GetWindowDC()
        !          1070:        { return CDC::FromHandle(::GetWindowDC(m_hWnd)); }
        !          1071: inline int CWnd::ReleaseDC(CDC* pDC)
        !          1072:        { return ::ReleaseDC(m_hWnd, pDC->m_hDC); }
        !          1073: inline void CWnd::UpdateWindow()
        !          1074:        { ::UpdateWindow(m_hWnd); }
        !          1075: inline void CWnd::SetRedraw(BOOL bRedraw /* = TRUE */)
        !          1076:        { ::SendMessage(m_hWnd, WM_SETREDRAW, bRedraw, 0); }
        !          1077: inline BOOL CWnd::GetUpdateRect(LPRECT lpRect, BOOL bErase /* = FALSE */)
        !          1078:        { return ::GetUpdateRect(m_hWnd, lpRect, bErase); }
        !          1079: inline int CWnd::GetUpdateRgn(CRgn* pRgn, BOOL bErase /* = FALSE */)
        !          1080:        { return ::GetUpdateRgn(m_hWnd, (HRGN)pRgn->m_hObject, bErase); }
        !          1081: inline void CWnd::Invalidate(BOOL bErase /* = TRUE  */)
        !          1082:        { ::InvalidateRect(m_hWnd, (LPRECT)NULL, bErase); }
        !          1083: inline void CWnd::InvalidateRect(LPRECT lpRect, BOOL bErase /* = TRUE  */)
        !          1084:        { ::InvalidateRect(m_hWnd, lpRect, bErase); }
        !          1085: inline void CWnd::InvalidateRgn(CRgn* pRgn, BOOL bErase /* = TRUE  */)
        !          1086:        { ::InvalidateRgn(m_hWnd, (HRGN)pRgn->GetSafeHandle(), bErase); }
        !          1087: inline void CWnd::ValidateRect(LPRECT lpRect)
        !          1088:        { ::ValidateRect(m_hWnd, lpRect); }
        !          1089: inline void CWnd::ValidateRgn(CRgn* pRgn)
        !          1090:        { ::ValidateRgn(m_hWnd, (HRGN)pRgn->GetSafeHandle()); }
        !          1091: inline BOOL CWnd::ShowWindow(int nCmdShow)
        !          1092:        { return ::ShowWindow(m_hWnd, nCmdShow); }
        !          1093: inline BOOL CWnd::IsWindowVisible() const
        !          1094:        { return ::IsWindowVisible(m_hWnd); }
        !          1095: inline void CWnd::ShowOwnedPopups(BOOL bShow /* = TRUE */)
        !          1096:        { ::ShowOwnedPopups(m_hWnd, bShow); }
        !          1097: #if (WINVER >= 0x030a)
        !          1098: inline BOOL CWnd::LockWindowUpdate()
        !          1099:        { return ::LockWindowUpdate(m_hWnd); }
        !          1100: inline BOOL CWnd::RedrawWindow(const RECT FAR* lpRectUpdate, 
        !          1101:                        CRgn* prgnUpdate, 
        !          1102:                        UINT flags /* = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE */)
        !          1103:        { return ::RedrawWindow(m_hWnd, lpRectUpdate, (HRGN)prgnUpdate->GetSafeHandle(), flags); }
        !          1104: inline BOOL CWnd::EnableScrollBar(int nBar, 
        !          1105:                UINT nArrowFlags /* = ESB_ENABLE_BOTH */)
        !          1106:        { return (BOOL)::EnableScrollBar(m_hWnd, nBar, nArrowFlags); }
        !          1107: #endif /* WINVER >= 0x030a */
        !          1108: inline UINT CWnd::SetTimer(int nIDEvent, UINT nElapse,
        !          1109:                UINT (FAR PASCAL EXPORT* lpfnTimer)(HWND, UINT, int, DWORD))
        !          1110:        { return ::SetTimer(m_hWnd, nIDEvent, nElapse,
        !          1111:                (TIMERPROC)lpfnTimer); }
        !          1112: inline BOOL CWnd::KillTimer(int nIDEvent)
        !          1113:        { return ::KillTimer(m_hWnd, nIDEvent); }
        !          1114: inline BOOL CWnd::IsWindowEnabled() const
        !          1115:        { return ::IsWindowEnabled(m_hWnd); }
        !          1116: inline BOOL CWnd::EnableWindow(BOOL bEnable /* = TRUE */)
        !          1117:        { return ::EnableWindow(m_hWnd, bEnable); }
        !          1118: inline CWnd* CWnd::GetActiveWindow()
        !          1119:        { return CWnd::FromHandle(::GetActiveWindow()); }
        !          1120: inline CWnd* CWnd::SetActiveWindow()
        !          1121:        { return CWnd::FromHandle(::SetActiveWindow(m_hWnd)); }
        !          1122: inline CWnd* CWnd::GetCapture()
        !          1123:        { return CWnd::FromHandle(::GetCapture()); }
        !          1124: inline CWnd* CWnd::SetCapture()
        !          1125:        { return CWnd::FromHandle(::SetCapture(m_hWnd)); }
        !          1126: inline CWnd* CWnd::GetFocus()
        !          1127:        { return CWnd::FromHandle(::GetFocus()); }
        !          1128: inline CWnd* CWnd::SetFocus()
        !          1129:        { return CWnd::FromHandle(::SetFocus(m_hWnd)); }
        !          1130: inline CWnd* CWnd::SetSysModalWindow()
        !          1131:        { return CWnd::FromHandle(::SetSysModalWindow(m_hWnd)); }
        !          1132: inline CWnd* CWnd::GetSysModalWindow()
        !          1133:        { return CWnd::FromHandle(::GetSysModalWindow()); }
        !          1134: inline CWnd* CWnd::GetDesktopWindow()
        !          1135:        { return CWnd::FromHandle(::GetDesktopWindow()); }
        !          1136: inline void CWnd::CheckDlgButton(int nIDButton, UINT nCheck)
        !          1137:        { ::CheckDlgButton(m_hWnd, nIDButton, nCheck); }
        !          1138: inline void CWnd::CheckRadioButton(int nIDFirstButton, int nIDLastButton,
        !          1139:                int nIDCheckButton)
        !          1140:        { ::CheckRadioButton(m_hWnd, nIDFirstButton, nIDLastButton, nIDCheckButton); }
        !          1141: inline int CWnd::DlgDirList(LPSTR lpPathSpec, int nIDListBox,
        !          1142:                int nIDStaticPath, UINT nFileType)
        !          1143:        { return ::DlgDirList(m_hWnd, lpPathSpec, nIDListBox,
        !          1144:                        nIDStaticPath, nFileType); }
        !          1145: inline int CWnd::DlgDirListComboBox(LPSTR lpPathSpec, int nIDComboBox,
        !          1146:                int nIDStaticPath, UINT nFileType)
        !          1147:        { return ::DlgDirListComboBox(m_hWnd, lpPathSpec,
        !          1148:                        nIDComboBox, nIDStaticPath, nFileType); }
        !          1149: inline BOOL CWnd::DlgDirSelect(LPSTR lpString, int nIDListBox)
        !          1150: #ifdef _NTWIN
        !          1151:        { return ::DlgDirSelectEx(m_hWnd, lpString, _MAX_PATH, nIDListBox); }
        !          1152: #else
        !          1153:        { return ::DlgDirSelect(m_hWnd, lpString, nIDListBox); }
        !          1154: #endif
        !          1155: inline BOOL CWnd::DlgDirSelectComboBox(LPSTR lpString, int nIDComboBox)
        !          1156: #ifdef _NTWIN
        !          1157:        { return ::DlgDirSelectComboBoxEx(m_hWnd, lpString, _MAX_PATH, nIDComboBox);}
        !          1158: #else
        !          1159:        { return ::DlgDirSelectComboBox(m_hWnd, lpString, nIDComboBox);}
        !          1160: #endif
        !          1161: inline CWnd* CWnd::GetDlgItem(int nID) const
        !          1162:        { return CWnd::FromHandle(::GetDlgItem(m_hWnd, nID)); }
        !          1163: inline UINT CWnd::GetDlgItemInt(int nID, BOOL* lpTrans /* = NULL */,
        !          1164:                BOOL bSigned /* = TRUE */) const
        !          1165:        { return ::GetDlgItemInt(m_hWnd, nID, lpTrans, bSigned);}
        !          1166: inline int CWnd::GetDlgItemText(int nID, LPSTR lpStr, int nMaxCount) const
        !          1167:        { return ::GetDlgItemText(m_hWnd, nID, lpStr, nMaxCount);}
        !          1168: inline CWnd* CWnd::GetNextDlgGroupItem(CWnd* pWndCtl, BOOL bPrevious /* = FALSE */) const
        !          1169:        { return CWnd::FromHandle(::GetNextDlgGroupItem(m_hWnd,
        !          1170:                        pWndCtl->m_hWnd, bPrevious)); }
        !          1171: inline CWnd* CWnd::GetNextDlgTabItem(CWnd* pWndCtl, BOOL bPrevious /* = FALSE */) const
        !          1172:        { return CWnd::FromHandle(::GetNextDlgTabItem(m_hWnd,
        !          1173:                        pWndCtl->m_hWnd, bPrevious)); }
        !          1174: inline UINT CWnd::IsDlgButtonChecked(int nIDButton) const
        !          1175:        { return ::IsDlgButtonChecked(m_hWnd, nIDButton); }
        !          1176: inline LONG CWnd::SendDlgItemMessage(int nID, UINT message, UINT wParam /* = 0 */, LONG lParam /* = 0 */)
        !          1177:        { return ::SendDlgItemMessage(m_hWnd, nID, message, wParam, lParam); }
        !          1178: inline void CWnd::SetDlgItemInt(int nID, UINT nValue, BOOL bSigned /* = TRUE */)
        !          1179:        { ::SetDlgItemInt(m_hWnd, nID, nValue, bSigned); }
        !          1180: inline void CWnd::SetDlgItemText(int nID, LPCSTR lpString)
        !          1181:        { ::SetDlgItemText(m_hWnd, nID, lpString); }
        !          1182: inline int CWnd::GetScrollPos(int nBar) const
        !          1183:        { return ::GetScrollPos(m_hWnd, nBar); }
        !          1184: inline void CWnd::GetScrollRange(int nBar, LPINT lpMinPos, LPINT lpMaxPos) const
        !          1185:        { ::GetScrollRange(m_hWnd, nBar, lpMinPos, lpMaxPos); }
        !          1186: inline void CWnd::ScrollWindow(int xAmount, int yAmount,
        !          1187:                const RECT FAR* lpRect /* = NULL */,
        !          1188:                const RECT FAR* lpClipRect /* = NULL */)
        !          1189:        {::ScrollWindow(m_hWnd, xAmount, yAmount, lpRect, lpClipRect); }
        !          1190: #if (WINVER >= 0x030a)
        !          1191: inline int CWnd::ScrollWindowEx(int dx, int dy,
        !          1192:                                const RECT FAR* lpScrollRect, const RECT FAR* lpClipRect,
        !          1193:                                CRgn* prgnUpdate, LPRECT lpUpdateRect, UINT flags)
        !          1194:        { return ::ScrollWindowEx(m_hWnd, dx, dy, lpScrollRect, lpClipRect,
        !          1195:                        (HRGN)prgnUpdate->GetSafeHandle(), lpUpdateRect, flags); }
        !          1196: #endif /* WINVER >= 0x030a */
        !          1197: inline int CWnd::SetScrollPos(int nBar, int nPos, BOOL bRedraw /* = TRUE */)
        !          1198:        { return ::SetScrollPos(m_hWnd, nBar, nPos, bRedraw); }
        !          1199: inline void CWnd::SetScrollRange(int nBar, int nMinPos, int nMaxPos,
        !          1200:        BOOL bRedraw /* = TRUE */)
        !          1201:        { ::SetScrollRange(m_hWnd, nBar, nMinPos, nMaxPos, bRedraw); }
        !          1202: inline void CWnd::ShowScrollBar(UINT nBar, BOOL bShow /* = TRUE */)
        !          1203:        { ::ShowScrollBar(m_hWnd, nBar, bShow); }
        !          1204: inline CWnd* CWnd::ChildWindowFromPoint(POINT point) const
        !          1205:        { return CWnd::FromHandle(::ChildWindowFromPoint(m_hWnd, point)); }
        !          1206: inline CWnd* CWnd::FindWindow(LPCSTR lpClassName, LPCSTR lpWindowName)
        !          1207:        { return CWnd::FromHandle(
        !          1208:                        ::FindWindow(lpClassName, lpWindowName)); }
        !          1209: inline CWnd* CWnd::GetNextWindow(UINT nFlag /* = GW_HWNDNEXT */) const
        !          1210:        { return CWnd::FromHandle(::GetNextWindow(m_hWnd, nFlag)); }
        !          1211: inline CWnd* CWnd::GetTopWindow() const
        !          1212:        { return CWnd::FromHandle(::GetTopWindow(m_hWnd)); }
        !          1213: inline CWnd* CWnd::GetWindow(UINT nCmd) const
        !          1214:        { return CWnd::FromHandle(::GetWindow(m_hWnd, nCmd)); }
        !          1215: inline CWnd* CWnd::GetLastActivePopup() const
        !          1216:        { return CWnd::FromHandle(::GetLastActivePopup(m_hWnd)); }
        !          1217: inline BOOL CWnd::IsChild(CWnd* pWnd) const
        !          1218:        { return ::IsChild(m_hWnd, pWnd->GetSafeHwnd()); }
        !          1219: inline CWnd* CWnd::GetParent() const
        !          1220:        { return CWnd::FromHandle(::GetParent(m_hWnd)); }
        !          1221: inline CWnd* CWnd::SetParent(CWnd* pWndNewParent)
        !          1222:        { return CWnd::FromHandle(::SetParent(m_hWnd,
        !          1223:                        pWndNewParent->GetSafeHwnd())); }
        !          1224: inline CWnd* CWnd::WindowFromPoint(POINT point)
        !          1225:        { return CWnd::FromHandle(::WindowFromPoint(point)); }
        !          1226: inline BOOL CWnd::FlashWindow(BOOL bInvert)
        !          1227:        { return ::FlashWindow(m_hWnd, bInvert); }
        !          1228: inline int CWnd::MessageBox(LPCSTR lpText, LPCSTR lpCaption /* = NULL */,
        !          1229:        UINT nType /* = MB_OK */)
        !          1230: #ifdef _NTWIN
        !          1231:        { return ::MessageBoxEx(GetSafeHwnd(), lpText, lpCaption, nType, 0); }
        !          1232: #else
        !          1233:        { return ::MessageBox(GetSafeHwnd(), lpText, lpCaption,nType); }
        !          1234: #endif
        !          1235: inline BOOL CWnd::ChangeClipboardChain(HWND hWndNext)
        !          1236:        { return ::ChangeClipboardChain(m_hWnd, hWndNext); }
        !          1237: inline HWND CWnd::SetClipboardViewer()
        !          1238:        { return ::SetClipboardViewer(m_hWnd); }
        !          1239: inline BOOL CWnd::OpenClipboard()
        !          1240:        { return ::OpenClipboard(m_hWnd); }
        !          1241: #if (WINVER >= 0x030a)
        !          1242: inline CWnd* CWnd::GetOpenClipboardWindow()
        !          1243:        { return CWnd::FromHandle(::GetOpenClipboardWindow()); }
        !          1244: #endif /* WINVER >= 0x030a */
        !          1245: inline CWnd* CWnd::GetClipboardOwner()
        !          1246:        { return CWnd::FromHandle(::GetClipboardOwner()); }
        !          1247: inline CWnd* CWnd::GetClipboardViewer()
        !          1248:        { return CWnd::FromHandle(::GetClipboardViewer()); }
        !          1249: inline void CWnd::CreateCaret(CBitmap* pBitmap)
        !          1250:        { ::CreateCaret(m_hWnd, (HBITMAP)pBitmap->GetSafeHandle(), 0, 0); }
        !          1251: inline void CWnd::CreateSolidCaret(int nWidth, int nHeight)
        !          1252:        { ::CreateCaret(m_hWnd, (HBITMAP)0, nWidth, nHeight); }
        !          1253: inline void CWnd::CreateGrayCaret(int nWidth, int nHeight)
        !          1254:        { ::CreateCaret(m_hWnd, (HBITMAP)1, nWidth, nHeight); }
        !          1255: inline CPoint CWnd::GetCaretPos()
        !          1256:        { CPoint point; ::GetCaretPos((LPPOINT)&point); return point; }
        !          1257: inline void CWnd::SetCaretPos(POINT point)
        !          1258:        { ::SetCaretPos(point.x, point.y); }
        !          1259: inline void CWnd::HideCaret()
        !          1260:        { ::HideCaret(m_hWnd); }
        !          1261: inline void CWnd::ShowCaret()
        !          1262:        { ::ShowCaret(m_hWnd); }
        !          1263: inline afx_msg void CWnd::OnActivate(UINT, CWnd*, BOOL)
        !          1264:        { Default(); }
        !          1265: inline afx_msg void CWnd::OnActivateApp(BOOL, HANDLE)
        !          1266:        { Default(); }
        !          1267: inline afx_msg void CWnd::OnCancelMode()
        !          1268:        { Default(); }
        !          1269: inline afx_msg void CWnd::OnChildActivate()
        !          1270:        { Default(); }
        !          1271: inline afx_msg void CWnd::OnClose()
        !          1272:        { Default(); }
        !          1273: inline afx_msg int CWnd::OnCreate(LPCREATESTRUCT)
        !          1274:        { return (int)Default(); }
        !          1275: inline afx_msg HBRUSH CWnd::OnCtlColor(CDC*, CWnd*, UINT)
        !          1276:        { return (HBRUSH)Default(); }
        !          1277: inline afx_msg void CWnd::OnEnable(BOOL)
        !          1278:        { Default(); }
        !          1279: inline afx_msg void CWnd::OnEndSession(BOOL)
        !          1280:        { Default(); }
        !          1281: inline afx_msg void CWnd::OnEnterIdle(UINT, CWnd*)
        !          1282:        { Default(); }
        !          1283: inline afx_msg BOOL CWnd::OnEraseBkgnd(CDC*)
        !          1284:        { return (BOOL)Default(); }
        !          1285: inline afx_msg void CWnd::OnGetMinMaxInfo(LPPOINT)
        !          1286:        { Default(); }
        !          1287: inline afx_msg void CWnd::OnIconEraseBkgnd(CDC*)
        !          1288:        { Default(); }
        !          1289: inline afx_msg void CWnd::OnKillFocus(CWnd*)
        !          1290:        { Default(); }
        !          1291: inline afx_msg LONG CWnd::OnMenuChar(UINT, UINT,    CMenu*)
        !          1292:        { return Default(); }
        !          1293: inline afx_msg void CWnd::OnMenuSelect(UINT, UINT,  HMENU)
        !          1294:        { Default(); }
        !          1295: inline afx_msg void CWnd::OnMove(int, int)
        !          1296:        { Default(); }
        !          1297: inline afx_msg void CWnd::OnPaint()
        !          1298:        { Default(); }
        !          1299: inline afx_msg void CWnd::OnParentNotify(UINT, LONG)
        !          1300:        { Default(); }
        !          1301: inline afx_msg HCURSOR CWnd::OnQueryDragIcon()
        !          1302:        { return (HCURSOR)Default(); }
        !          1303: inline afx_msg BOOL CWnd::OnQueryEndSession()
        !          1304:        { return (BOOL)Default(); }
        !          1305: inline afx_msg BOOL CWnd::OnQueryNewPalette()
        !          1306:        { return (BOOL)Default(); }
        !          1307: inline afx_msg BOOL CWnd::OnQueryOpen()
        !          1308:        { return (BOOL)Default(); }
        !          1309: inline afx_msg void CWnd::OnSetFocus(CWnd*)
        !          1310:        { Default(); }
        !          1311: inline afx_msg void CWnd::OnShowWindow(BOOL, UINT)
        !          1312:        { Default(); }
        !          1313: inline afx_msg void CWnd::OnSize(UINT, int, int)
        !          1314:        { Default(); }
        !          1315: 
        !          1316: #if (WINVER >= 0x030a)
        !          1317: inline afx_msg void CWnd::OnWindowPosChanging(WINDOWPOS FAR*)
        !          1318:        { Default(); }
        !          1319: inline afx_msg void CWnd::OnWindowPosChanged(WINDOWPOS FAR*)
        !          1320:        { Default(); }
        !          1321: inline afx_msg void CWnd::OnDropFiles(HANDLE)
        !          1322:        { Default(); }
        !          1323: inline afx_msg void CWnd::OnPaletteIsChanging(CWnd*)
        !          1324:        { Default(); }
        !          1325: #endif /* WINVER >= 0x030a */
        !          1326: 
        !          1327: inline afx_msg BOOL CWnd::OnNcActivate(BOOL)
        !          1328:        { return (BOOL)Default(); }
        !          1329: inline afx_msg void CWnd::OnNcCalcSize(NCCALCSIZE_PARAMS FAR*)
        !          1330:        { Default(); }
        !          1331: inline afx_msg BOOL CWnd::OnNcCreate(LPCREATESTRUCT)
        !          1332:        { return (BOOL)Default(); }
        !          1333: inline afx_msg UINT CWnd::OnNcHitTest(CPoint)
        !          1334:        { return (UINT)Default(); }
        !          1335: inline afx_msg void CWnd::OnNcLButtonDblClk(UINT, CPoint)
        !          1336:        { Default(); }
        !          1337: inline afx_msg void CWnd::OnNcLButtonDown(UINT, CPoint)
        !          1338:        { Default(); }
        !          1339: inline afx_msg void CWnd::OnNcLButtonUp(UINT, CPoint)
        !          1340:        { Default(); }
        !          1341: inline afx_msg void CWnd::OnNcMButtonDblClk(UINT, CPoint)
        !          1342:        { Default(); }
        !          1343: inline afx_msg void CWnd::OnNcMButtonDown(UINT, CPoint)
        !          1344:        { Default(); }
        !          1345: inline afx_msg void CWnd::OnNcMButtonUp(UINT, CPoint)
        !          1346:        { Default(); }
        !          1347: inline afx_msg void CWnd::OnNcMouseMove(UINT, CPoint)
        !          1348:        { Default(); }
        !          1349: inline afx_msg void CWnd::OnNcPaint()
        !          1350:        { Default(); }
        !          1351: inline afx_msg void CWnd::OnNcRButtonDblClk(UINT, CPoint)
        !          1352:        { Default(); }
        !          1353: inline afx_msg void CWnd::OnNcRButtonDown(UINT, CPoint)
        !          1354:        { Default(); }
        !          1355: inline afx_msg void CWnd::OnNcRButtonUp(UINT, CPoint)
        !          1356:        { Default(); }
        !          1357: inline afx_msg void CWnd::OnSysChar(UINT, UINT, UINT)
        !          1358:        { Default(); }
        !          1359: inline afx_msg void CWnd::OnSysCommand(UINT, LONG)
        !          1360:        { Default(); }
        !          1361: inline afx_msg void CWnd::OnSysDeadChar(UINT, UINT, UINT)
        !          1362:        { Default(); }
        !          1363: inline afx_msg void CWnd::OnSysKeyDown(UINT, UINT, UINT)
        !          1364:        { Default(); }
        !          1365: inline afx_msg void CWnd::OnSysKeyUp(UINT, UINT, UINT)
        !          1366:        { Default(); }
        !          1367: inline afx_msg void CWnd::OnCompacting(UINT)
        !          1368:        { Default(); }
        !          1369: inline afx_msg void CWnd::OnDevModeChange(LPSTR)
        !          1370:        { Default(); }
        !          1371: inline afx_msg void CWnd::OnFontChange()
        !          1372:        { Default(); }
        !          1373: inline afx_msg void CWnd::OnPaletteChanged(CWnd*)
        !          1374:        { Default(); }
        !          1375: inline afx_msg void CWnd::OnSpoolerStatus(UINT, UINT)
        !          1376:        { Default(); }
        !          1377: inline afx_msg void CWnd::OnSysColorChange()
        !          1378:        { Default(); }
        !          1379: inline afx_msg void CWnd::OnTimeChange()
        !          1380:        { Default(); }
        !          1381: inline afx_msg void CWnd::OnWinIniChange(LPSTR)
        !          1382:        { Default(); }
        !          1383: inline afx_msg void CWnd::OnChar(UINT, UINT, UINT)
        !          1384:        { Default(); }
        !          1385: inline afx_msg void CWnd::OnDeadChar(UINT, UINT, UINT)
        !          1386:        { Default(); }
        !          1387: inline afx_msg void CWnd::OnHScroll(UINT, UINT, CScrollBar*)
        !          1388:        { Default(); }
        !          1389: inline afx_msg void CWnd::OnKeyDown(UINT, UINT, UINT)
        !          1390:        { Default(); }
        !          1391: inline afx_msg void CWnd::OnKeyUp(UINT, UINT, UINT)
        !          1392:        { Default(); }
        !          1393: inline afx_msg void CWnd::OnLButtonDblClk(UINT, CPoint)
        !          1394:        { Default(); }
        !          1395: inline afx_msg void CWnd::OnLButtonDown(UINT, CPoint)
        !          1396:        { Default(); }
        !          1397: inline afx_msg void CWnd::OnLButtonUp(UINT, CPoint)
        !          1398:        { Default(); }
        !          1399: inline afx_msg void CWnd::OnMButtonDblClk(UINT, CPoint)
        !          1400:        { Default(); }
        !          1401: inline afx_msg void CWnd::OnMButtonDown(UINT, CPoint)
        !          1402:        { Default(); }
        !          1403: inline afx_msg void CWnd::OnMButtonUp(UINT, CPoint)
        !          1404:        { Default(); }
        !          1405: inline afx_msg int CWnd::OnMouseActivate(CWnd*, UINT, UINT)
        !          1406:        { return (int)Default(); }
        !          1407: inline afx_msg void CWnd::OnMouseMove(UINT, CPoint)
        !          1408:        { Default(); }
        !          1409: inline afx_msg void CWnd::OnRButtonDblClk(UINT, CPoint)
        !          1410:        { Default(); }
        !          1411: inline afx_msg void CWnd::OnRButtonDown(UINT, CPoint)
        !          1412:        { Default(); }
        !          1413: inline afx_msg void CWnd::OnRButtonUp(UINT, CPoint)
        !          1414:        { Default(); }
        !          1415: inline afx_msg BOOL CWnd::OnSetCursor(CWnd*, UINT, UINT)
        !          1416:        { return (BOOL)Default(); }
        !          1417: inline afx_msg void CWnd::OnTimer(UINT)
        !          1418:        { Default(); }
        !          1419: inline afx_msg void CWnd::OnVScroll(UINT, UINT, CScrollBar*)
        !          1420:        { Default(); }
        !          1421: inline afx_msg void CWnd::OnInitMenu(CMenu*)
        !          1422:        { Default(); }
        !          1423: inline afx_msg void CWnd::OnInitMenuPopup(CMenu*, UINT, BOOL)
        !          1424:        { Default(); }
        !          1425: inline afx_msg void CWnd::OnAskCbFormatName(UINT, LPSTR)
        !          1426:        { Default(); }
        !          1427: inline afx_msg void CWnd::OnChangeCbChain(HWND, HWND)
        !          1428:        { Default(); }
        !          1429: inline afx_msg void CWnd::OnDestroyClipboard()
        !          1430:        { Default(); }
        !          1431: inline afx_msg void CWnd::OnDrawClipboard()
        !          1432:        { Default(); }
        !          1433: inline afx_msg void CWnd::OnHScrollClipboard(CWnd*, UINT, UINT)
        !          1434:        { Default(); }
        !          1435: inline afx_msg void CWnd::OnPaintClipboard(CWnd*, HANDLE)
        !          1436:        { Default(); }
        !          1437: inline afx_msg void CWnd::OnRenderAllFormats()
        !          1438:        { Default(); }
        !          1439: inline afx_msg void CWnd::OnRenderFormat(UINT)
        !          1440:        { Default(); }
        !          1441: inline afx_msg void CWnd::OnSizeClipboard(CWnd*, HANDLE)
        !          1442:        { Default(); }
        !          1443: inline afx_msg void CWnd::OnVScrollClipboard(CWnd*, UINT, UINT)
        !          1444:        { Default(); }
        !          1445: inline afx_msg int CWnd::OnCharToItem(UINT, CListBox*, UINT)
        !          1446:        { return (int)Default(); }
        !          1447: inline afx_msg UINT CWnd::OnGetDlgCode()
        !          1448:        { return (UINT)Default(); }
        !          1449: inline afx_msg int CWnd::OnVKeyToItem(UINT, CListBox*,  UINT)
        !          1450:        { return (int)Default(); }
        !          1451: inline afx_msg void CWnd::OnMDIActivate(BOOL, CWnd*, CWnd*)
        !          1452:        { Default(); }
        !          1453: 
        !          1454: // CDialog inline functions
        !          1455: inline BOOL CDialog::Create(UINT nIDTemplate, CWnd* pParentWnd /* = NULL */)
        !          1456:        { return Create(MAKEINTRESOURCE(nIDTemplate), pParentWnd); }
        !          1457: inline void CDialog::MapDialogRect(LPRECT lpRect) const
        !          1458:        { ::MapDialogRect(m_hWnd, lpRect); }
        !          1459: inline BOOL CDialog::IsDialogMessage(LPMSG lpMsg)
        !          1460:        { return ::IsDialogMessage(m_hWnd, lpMsg); }
        !          1461: inline void CDialog::NextDlgCtrl() const
        !          1462:        { ::SendMessage(m_hWnd, WM_NEXTDLGCTL, 0, 0); }
        !          1463: inline void CDialog::PrevDlgCtrl() const
        !          1464:        { ::SendMessage(m_hWnd, WM_NEXTDLGCTL, 1, 0); }
        !          1465: inline void CDialog::GotoDlgCtrl(CWnd* pWndCtrl)
        !          1466:        { ::SendMessage(m_hWnd, WM_NEXTDLGCTL, (UINT)pWndCtrl->m_hWnd, 1L); }
        !          1467: inline void CDialog::SetDefID(UINT nID)
        !          1468:        { ::SendMessage(m_hWnd, DM_SETDEFID, nID, 0); }
        !          1469: inline DWORD CDialog::GetDefID()
        !          1470:        { return ::SendMessage(m_hWnd, DM_GETDEFID, 0, 0); }
        !          1471: inline void CDialog::EndDialog(int nResult)
        !          1472:        { ::EndDialog(m_hWnd, nResult); }
        !          1473: 
        !          1474: // Window control inline functions
        !          1475: inline CStatic::CStatic() 
        !          1476:        { }
        !          1477: inline CButton::CButton() 
        !          1478:        { }
        !          1479: #if (WINVER >= 0x030a)
        !          1480: inline HICON CStatic::SetIcon(HICON hIcon)
        !          1481:        { return (HICON)::SendMessage(m_hWnd, STM_SETICON, (WPARAM)hIcon, 0L); }
        !          1482: inline HICON CStatic::GetIcon() const
        !          1483:        { return (HICON)::SendMessage(m_hWnd, STM_GETICON, 0, 0L); }
        !          1484: #endif /* WINVER >= 0x030a */
        !          1485:        
        !          1486: inline UINT CButton::GetState() const
        !          1487:        { return (UINT)::SendMessage(m_hWnd, BM_GETSTATE, 0, 0); }
        !          1488: inline void CButton::SetState(BOOL bHighlight)
        !          1489:        { ::SendMessage(m_hWnd, BM_SETSTATE, bHighlight, 0); }
        !          1490: inline int CButton::GetCheck() const
        !          1491:        { return (BOOL)::SendMessage(m_hWnd, BM_GETCHECK, 0, 0); }
        !          1492: inline void CButton::SetCheck(int nCheck)
        !          1493:        { ::SendMessage(m_hWnd, BM_SETCHECK, nCheck, 0); }
        !          1494: inline UINT CButton::GetButtonStyle() const
        !          1495:        { return (UINT)GetWindowLong(m_hWnd, GWL_STYLE) & 0xff; }
        !          1496: inline void CButton::SetButtonStyle(UINT nStyle, BOOL bRedraw /* = TRUE */)
        !          1497:        { ::SendMessage(m_hWnd, BM_SETSTYLE, nStyle, (LONG)bRedraw); }
        !          1498: inline CListBox::CListBox() 
        !          1499:        { }
        !          1500: inline int CListBox::GetCount() const
        !          1501:        { return (int)::SendMessage(m_hWnd, LB_GETCOUNT, 0, 0); }
        !          1502: inline int CListBox::GetCurSel() const
        !          1503:        { return (int)::SendMessage(m_hWnd, LB_GETCURSEL, 0, 0); }
        !          1504: inline int CListBox::SetCurSel(int nSelect)
        !          1505:        { return (int)::SendMessage(m_hWnd, LB_SETCURSEL, nSelect, 0); }
        !          1506: inline int CListBox::GetHorizontalExtent() const
        !          1507:        { return (int)::SendMessage(m_hWnd, LB_GETHORIZONTALEXTENT,
        !          1508:                0, 0); }
        !          1509: inline void CListBox::SetHorizontalExtent(int cxExtent)
        !          1510:        { ::SendMessage(m_hWnd, LB_SETHORIZONTALEXTENT, cxExtent, 0); }
        !          1511: inline int CListBox::GetSelCount() const
        !          1512:        { return (int)::SendMessage(m_hWnd, LB_GETSELCOUNT, 0, 0); }
        !          1513: inline int CListBox::GetSelItems(int nMaxItems, LPINT rgIndex) const
        !          1514:        { return (int)::SendMessage(m_hWnd, LB_GETSELITEMS, nMaxItems, (LONG)rgIndex); }
        !          1515: inline int CListBox::GetTopIndex() const
        !          1516:        { return (int)::SendMessage(m_hWnd, LB_GETTOPINDEX, 0, 0); }
        !          1517: inline int CListBox::SetTopIndex(int nIndex)
        !          1518:        { return (int)::SendMessage(m_hWnd, LB_SETTOPINDEX, nIndex, 0);}
        !          1519: inline DWORD CListBox::GetItemData(int nIndex) const
        !          1520:        { return ::SendMessage(m_hWnd, LB_GETITEMDATA, nIndex, 0); }
        !          1521: inline int CListBox::SetItemData(int nIndex, DWORD dwItemData)
        !          1522:        { return (int)::SendMessage(m_hWnd, LB_SETITEMDATA, nIndex, (LONG)dwItemData); }
        !          1523: inline int CListBox::GetItemRect(int nIndex, LPRECT lpRect) const
        !          1524:        { return (int)::SendMessage(m_hWnd, LB_GETITEMRECT, nIndex, (LONG)lpRect); }
        !          1525: inline int CListBox::GetSel(int nIndex) const
        !          1526:        { return (int)::SendMessage(m_hWnd, LB_GETSEL, nIndex, 0); }
        !          1527: inline int CListBox::SetSel(int nIndex, BOOL bSelect)
        !          1528:        { return (int)::SendMessage(m_hWnd, LB_SETSEL, bSelect, nIndex); }
        !          1529: inline int CListBox::GetText(int nIndex, LPSTR lpBuffer) const
        !          1530:        { return (int)::SendMessage(m_hWnd, LB_GETTEXT, nIndex, (LONG)lpBuffer); }
        !          1531: inline int CListBox::GetTextLen(int nIndex) const
        !          1532:        { return (int)::SendMessage(m_hWnd, LB_GETTEXTLEN, nIndex, 0); }
        !          1533: inline void CListBox::GetText(int nIndex, CString& rString) const
        !          1534:        { GetText(nIndex, rString.GetBufferSetLength(GetTextLen(nIndex))); }
        !          1535: inline void CListBox::SetColumnWidth(int cxWidth)
        !          1536:        { ::SendMessage(m_hWnd, LB_SETCOLUMNWIDTH, cxWidth, 0); }
        !          1537: inline BOOL CListBox::SetTabStops(int nTabStops, LPINT rgTabStops)
        !          1538:        { return (BOOL)::SendMessage(m_hWnd, LB_SETTABSTOPS, nTabStops, (LONG)rgTabStops); }
        !          1539: inline void CListBox::SetTabStops()
        !          1540:        { VERIFY(::SendMessage(m_hWnd, LB_SETTABSTOPS, 0, 0)); }
        !          1541: inline BOOL CListBox::SetTabStops(int cxEachStop)
        !          1542:        { return (BOOL)::SendMessage(m_hWnd, LB_SETTABSTOPS, 1, (LONG)(LPINT)&cxEachStop); }
        !          1543: #if (WINVER >= 0x030a)
        !          1544: inline int CListBox::SetItemHeight(int nIndex, UINT cyItemHeight)
        !          1545:        { return (int)::SendMessage(m_hWnd, LB_SETITEMHEIGHT, nIndex, MAKELONG(cyItemHeight, 0)); }
        !          1546: inline int CListBox::GetItemHeight(int nIndex) const
        !          1547:        { return (int)::SendMessage(m_hWnd, LB_GETITEMHEIGHT, nIndex, 0L); }
        !          1548: inline int CListBox::FindStringExact(int nIndexStart, LPCSTR lpszFind) const
        !          1549:        { return (int)::SendMessage(m_hWnd, LB_FINDSTRINGEXACT, nIndexStart, (LONG)lpszFind); }
        !          1550: inline int CListBox::GetCaretIndex() const
        !          1551:        { return (int)::SendMessage(m_hWnd, LB_GETCARETINDEX, 0, 0L); }
        !          1552: inline int CListBox::SetCaretIndex(int nIndex, BOOL bScroll /* = TRUE */)
        !          1553:        { return (int)::SendMessage(m_hWnd, LB_SETCARETINDEX, nIndex, MAKELONG(bScroll, 0)); }
        !          1554: #endif  /* WINVER >= 0x030a */
        !          1555: inline int CListBox::AddString(LPCSTR lpItem)
        !          1556:        { return (int)::SendMessage(m_hWnd, LB_ADDSTRING, 0, (LONG)lpItem); }
        !          1557: inline int CListBox::DeleteString(UINT nIndex)
        !          1558:        { return (int)::SendMessage(m_hWnd, LB_DELETESTRING, nIndex, 0); }
        !          1559: inline int CListBox::InsertString(int nIndex, LPCSTR lpItem)
        !          1560:        { return (int)::SendMessage(m_hWnd, LB_INSERTSTRING, nIndex, (LONG)lpItem); }
        !          1561: inline void CListBox::ResetContent()
        !          1562:        { ::SendMessage(m_hWnd, LB_RESETCONTENT, 0, 0); }
        !          1563: inline int CListBox::Dir(UINT attr, LPCSTR lpWildCard)
        !          1564:        { return (int)::SendMessage(m_hWnd, LB_DIR, attr, (LONG)lpWildCard); }
        !          1565: inline int CListBox::FindString(int nStartAfter, LPCSTR lpItem) const
        !          1566:        { return (int)::SendMessage(m_hWnd, LB_FINDSTRING,
        !          1567:                nStartAfter, (LONG)lpItem); }
        !          1568: inline int CListBox::SelectString(int nStartAfter, LPCSTR lpItem)
        !          1569:        { return (int)::SendMessage(m_hWnd, LB_SELECTSTRING,
        !          1570:                nStartAfter, (LONG)lpItem); }
        !          1571: inline int CListBox::SelItemRange(BOOL bSelect, int nFirstItem, int nLastItem)
        !          1572:        { return (int)::SendMessage(m_hWnd, LB_SELITEMRANGE, bSelect,
        !          1573:                MAKELONG(nFirstItem, nLastItem)); }
        !          1574: inline CComboBox::CComboBox() 
        !          1575:        { }
        !          1576: inline int CComboBox::GetCount() const
        !          1577:        { return (int)::SendMessage(m_hWnd, CB_GETCOUNT, 0, 0); }
        !          1578: inline int CComboBox::GetCurSel() const
        !          1579:        { return (int)::SendMessage(m_hWnd, CB_GETCURSEL, 0, 0); }
        !          1580: inline int CComboBox::SetCurSel(int nSelect)
        !          1581:        { return (int)::SendMessage(m_hWnd, CB_SETCURSEL, nSelect, 0); }
        !          1582: inline DWORD CComboBox::GetEditSel() const
        !          1583:        { return ::SendMessage(m_hWnd, CB_GETEDITSEL, 0, 0); }
        !          1584: inline BOOL CComboBox::LimitText(int nMaxChars)
        !          1585:        { return (BOOL)::SendMessage(m_hWnd, CB_LIMITTEXT, nMaxChars, 0); }
        !          1586: inline BOOL CComboBox::SetEditSel(int nStartChar, int nEndChar)
        !          1587:        { return (BOOL)::SendMessage(m_hWnd, CB_SETEDITSEL, 0, MAKELONG(nStartChar, nEndChar)); }
        !          1588: inline DWORD CComboBox::GetItemData(int nIndex) const
        !          1589:        { return ::SendMessage(m_hWnd, CB_GETITEMDATA, nIndex, 0); }
        !          1590: inline int CComboBox::SetItemData(int nIndex, DWORD dwItemData)
        !          1591:        { return (int)::SendMessage(m_hWnd, CB_SETITEMDATA, nIndex, (LONG)dwItemData); }
        !          1592: inline int CComboBox::GetLBText(int nIndex, LPSTR lpText) const
        !          1593:        { return (int)::SendMessage(m_hWnd, CB_GETLBTEXT, nIndex, (LONG)lpText); }
        !          1594: inline int CComboBox::GetLBTextLen(int nIndex) const
        !          1595:        { return (int)::SendMessage(m_hWnd, CB_GETLBTEXTLEN, nIndex, 0); }
        !          1596: inline void CComboBox::GetLBText(int nIndex, CString& rString) const
        !          1597:        { GetLBText(nIndex, rString.GetBufferSetLength(GetLBTextLen(nIndex))); }
        !          1598: inline void CComboBox::ShowDropDown(BOOL bShowIt /* = TRUE */)
        !          1599:        { ::SendMessage(m_hWnd, CB_SHOWDROPDOWN, bShowIt, 0); }
        !          1600: inline int CComboBox::AddString(LPCSTR lpString)
        !          1601:        { return (int)::SendMessage(m_hWnd, CB_ADDSTRING, 0, (LONG)lpString); }
        !          1602: inline int CComboBox::DeleteString(UINT nIndex)
        !          1603:        { return (int)::SendMessage(m_hWnd, CB_DELETESTRING, nIndex, 0);}
        !          1604: inline int CComboBox::InsertString(int nIndex, LPCSTR lpString)
        !          1605:        { return (int)::SendMessage(m_hWnd, CB_INSERTSTRING, nIndex, (LONG)lpString); }
        !          1606: inline void CComboBox::ResetContent()
        !          1607:        { ::SendMessage(m_hWnd, CB_RESETCONTENT, 0, 0); }
        !          1608: inline int CComboBox::Dir(UINT attr, LPCSTR lpWildCard)
        !          1609:        { return (int)::SendMessage(m_hWnd, CB_DIR, attr, (LONG)lpWildCard); }
        !          1610: inline int CComboBox::FindString(int nStartAfter, LPCSTR lpString) const
        !          1611:        { return (int)::SendMessage(m_hWnd, CB_FINDSTRING, nStartAfter,
        !          1612:                (LONG)lpString); }
        !          1613: inline int CComboBox::SelectString(int nStartAfter, LPCSTR lpString)
        !          1614:        { return (int)::SendMessage(m_hWnd, CB_SELECTSTRING,
        !          1615:                nStartAfter, (LONG)lpString); }
        !          1616: inline void CComboBox::Clear()
        !          1617:        { ::SendMessage(m_hWnd, WM_CLEAR, 0, 0); }
        !          1618: inline void CComboBox::Copy()
        !          1619:        { ::SendMessage(m_hWnd, WM_COPY, 0, 0); }
        !          1620: inline void CComboBox::Cut()
        !          1621:        { ::SendMessage(m_hWnd, WM_CUT, 0, 0); }
        !          1622: inline void CComboBox::Paste()
        !          1623:        { ::SendMessage(m_hWnd, WM_PASTE, 0, 0); }
        !          1624: #if (WINVER >= 0x030a)
        !          1625: inline int CComboBox::SetItemHeight(int nIndex, UINT cyItemHeight)
        !          1626:        { return (int)::SendMessage(m_hWnd, CB_SETITEMHEIGHT, nIndex, MAKELONG(cyItemHeight, 0)); }
        !          1627: inline int CComboBox::GetItemHeight(int nIndex) const
        !          1628:        { return (int)::SendMessage(m_hWnd, CB_GETITEMHEIGHT, nIndex, 0L); }
        !          1629: inline int CComboBox::FindStringExact(int nIndexStart, LPCSTR lpszFind) const
        !          1630:        { return (int)::SendMessage(m_hWnd, CB_FINDSTRINGEXACT, nIndexStart, (LONG)lpszFind); }
        !          1631: inline int CComboBox::SetExtendedUI(BOOL bExtended /* = TRUE */ )
        !          1632:        { return (int)::SendMessage(m_hWnd, CB_SETEXTENDEDUI, bExtended, 0L); }
        !          1633: inline BOOL CComboBox::GetExtendedUI() const
        !          1634:        { return (BOOL)::SendMessage(m_hWnd, CB_GETEXTENDEDUI, 0, 0L); }
        !          1635: inline void CComboBox::GetDroppedControlRect(LPRECT lprect) const
        !          1636:        { ::SendMessage(m_hWnd, CB_GETDROPPEDCONTROLRECT, 0, (DWORD)lprect); }
        !          1637: inline BOOL CComboBox::GetDroppedState() const
        !          1638:        { return (BOOL)::SendMessage(m_hWnd, CB_GETDROPPEDSTATE, 0, 0L); }
        !          1639: #endif  /* WINVER >= 0x030a */
        !          1640: 
        !          1641: inline CEdit::CEdit()
        !          1642:        { }
        !          1643: inline BOOL CEdit::CanUndo() const
        !          1644:        { return (BOOL)::SendMessage(m_hWnd, EM_CANUNDO, 0, 0); }
        !          1645: inline int CEdit::GetLineCount() const
        !          1646:        { return (int)::SendMessage(m_hWnd, EM_GETLINECOUNT, 0, 0); }
        !          1647: inline BOOL CEdit::GetModify() const
        !          1648:        { return (BOOL)::SendMessage(m_hWnd, EM_GETMODIFY, 0, 0); }
        !          1649: inline void CEdit::SetModify(BOOL bModified /* = TRUE */)
        !          1650:        { ::SendMessage(m_hWnd, EM_SETMODIFY, bModified, 0); }
        !          1651: inline void CEdit::GetRect(LPRECT lpRect) const
        !          1652:        { ::SendMessage(m_hWnd, EM_GETRECT, 0, (LONG)lpRect); }
        !          1653: inline DWORD CEdit::GetSel() const
        !          1654:        { return ::SendMessage(m_hWnd, EM_GETSEL, 0, 0); }
        !          1655: inline HANDLE   CEdit::GetHandle() const
        !          1656:        { return (HANDLE)::SendMessage(m_hWnd, EM_GETHANDLE, 0, 0); }
        !          1657: inline void CEdit::SetHandle(HANDLE hBuffer)
        !          1658:        { ::SendMessage(m_hWnd, EM_SETHANDLE, (UINT)hBuffer, 0); }
        !          1659: inline int CEdit::GetLine(int nIndex, LPSTR lpBuffer) const
        !          1660:        { return (int)::SendMessage(m_hWnd, EM_GETLINE, nIndex, (LONG)lpBuffer); }
        !          1661: inline int CEdit::GetLine(int nIndex, LPSTR lpBuffer, int nMaxLength) const
        !          1662:        {
        !          1663:                *(LPINT)lpBuffer = nMaxLength;
        !          1664:                return (int)::SendMessage(m_hWnd, EM_GETLINE, nIndex,
        !          1665:                        (LONG)lpBuffer);
        !          1666:        }
        !          1667: inline void CEdit::EmptyUndoBuffer()
        !          1668:        { ::SendMessage(m_hWnd, EM_EMPTYUNDOBUFFER, 0, 0); }
        !          1669: inline BOOL CEdit::FmtLines(BOOL bAddEOL)
        !          1670:        { return (BOOL)::SendMessage(m_hWnd, EM_FMTLINES, bAddEOL, 0); }
        !          1671: inline void CEdit::LimitText(int nChars /* = 0 */)
        !          1672:        { ::SendMessage(m_hWnd, EM_LIMITTEXT, nChars, 0); }
        !          1673: inline int CEdit::LineFromChar(int nIndex /* = -1 */) const
        !          1674:        { return (int)::SendMessage(m_hWnd, EM_LINEFROMCHAR, nIndex, 0); }
        !          1675: inline int CEdit::LineIndex(int nLine /* = -1 */) const
        !          1676:        { return (int)::SendMessage(m_hWnd, EM_LINEINDEX, nLine, 0); }
        !          1677: inline int CEdit::LineLength(int nLine /* = -1 */) const
        !          1678:        { return (int)::SendMessage(m_hWnd, EM_LINELENGTH, nLine, 0); }
        !          1679: inline void CEdit::LineScroll(int nLines, int nChars /* = 0 */)
        !          1680: #ifdef _NTWIN
        !          1681:        { ::SendMessage(m_hWnd, EM_LINESCROLL, nChars, nLines); }
        !          1682: #else
        !          1683:        { ::SendMessage(m_hWnd, EM_LINESCROLL, 0, MAKELONG(nLines, nChars)); }
        !          1684: #endif
        !          1685: inline void CEdit::ReplaceSel(LPCSTR lpNewText)
        !          1686:        { ::SendMessage(m_hWnd, EM_REPLACESEL, 0, (LONG)lpNewText); }
        !          1687: inline void CEdit::SetPasswordChar(char ch /* = '\0' */)
        !          1688:        { ::SendMessage(m_hWnd, EM_SETPASSWORDCHAR, ch, 0); }
        !          1689: inline void CEdit::SetRect(LPRECT lpRect)
        !          1690:        { ::SendMessage(m_hWnd, EM_SETRECT, 0, (LONG)lpRect); }
        !          1691: inline void CEdit::SetRectNP(LPRECT lpRect)
        !          1692:        { ::SendMessage(m_hWnd, EM_SETRECTNP, 0, (LONG)lpRect); }
        !          1693: inline void CEdit::SetSel(DWORD dwSelection)
        !          1694: #ifdef _NTWIN
        !          1695:        { ::SendMessage(m_hWnd, EM_SETSEL, LOWORD(dwSelection), HIWORD(dwSelection)); }
        !          1696: #else
        !          1697:        { ::SendMessage(m_hWnd, EM_SETSEL, 0, (LONG)dwSelection); }
        !          1698: #endif
        !          1699: inline void CEdit::SetSel(int nStartChar, int nEndChar)
        !          1700: #ifdef _NTWIN
        !          1701:        { ::SendMessage(m_hWnd, EM_SETSEL, nStartChar, nEndChar); }
        !          1702: #else
        !          1703:        { ::SendMessage(m_hWnd, EM_SETSEL, 0, MAKELONG(nStartChar, nEndChar)); }
        !          1704: #endif
        !          1705: inline BOOL CEdit::SetTabStops(int nTabStops, LPINT rgTabStops)
        !          1706:        { return (BOOL)::SendMessage(m_hWnd, EM_SETTABSTOPS, nTabStops,
        !          1707:                (LONG)rgTabStops); }
        !          1708: inline void CEdit::SetTabStops()
        !          1709:        { VERIFY(::SendMessage(m_hWnd, EM_SETTABSTOPS, 0, 0)); }
        !          1710: inline BOOL CEdit::SetTabStops(int cxEachStop)
        !          1711:        { return (BOOL)::SendMessage(m_hWnd, EM_SETTABSTOPS,
        !          1712:                1, (LONG)(LPINT)&cxEachStop); }
        !          1713: inline BOOL CEdit::Undo()
        !          1714:        { return (BOOL)::SendMessage(m_hWnd, EM_UNDO, 0, 0); }
        !          1715: inline void CEdit::Clear()
        !          1716:        { ::SendMessage(m_hWnd, WM_CLEAR, 0, 0); }
        !          1717: inline void CEdit::Copy()
        !          1718:        { ::SendMessage(m_hWnd, WM_COPY, 0, 0); }
        !          1719: inline void CEdit::Cut()
        !          1720:        { ::SendMessage(m_hWnd, WM_CUT, 0, 0); }
        !          1721: inline void CEdit::Paste()
        !          1722:        { ::SendMessage(m_hWnd, WM_PASTE, 0, 0); }
        !          1723: #if (WINVER >= 0x030a)
        !          1724: inline BOOL CEdit::SetReadOnly(BOOL bReadOnly /* = TRUE */ )
        !          1725:        { return (BOOL)::SendMessage(m_hWnd, EM_SETREADONLY, bReadOnly, 0L); }
        !          1726: inline int CEdit::GetFirstVisibleLine() const
        !          1727:        { return (int)::SendMessage(m_hWnd, EM_GETFIRSTVISIBLELINE, 0, 0L); }
        !          1728: inline char CEdit::GetPasswordChar() const
        !          1729:        { return (char)::SendMessage(m_hWnd, EM_GETPASSWORDCHAR, 0, 0L); }
        !          1730: #endif  /* WINVER >= 0x030a */
        !          1731: 
        !          1732: inline CScrollBar::CScrollBar() 
        !          1733:        { }
        !          1734: inline int CScrollBar::GetScrollPos() const
        !          1735:        { return ::GetScrollPos(m_hWnd, SB_CTL); }
        !          1736: inline int CScrollBar::SetScrollPos(int nPos, BOOL bRedraw /* = TRUE */)
        !          1737:        { return ::SetScrollPos(m_hWnd, SB_CTL, nPos, bRedraw); }
        !          1738: inline void CScrollBar::GetScrollRange(LPINT lpMinPos, LPINT lpMaxPos) const
        !          1739:        { ::GetScrollRange(m_hWnd, SB_CTL, lpMinPos, lpMaxPos); }
        !          1740: inline void CScrollBar::SetScrollRange(int nMinPos, int nMaxPos, BOOL bRedraw /* = TRUE */)
        !          1741:        { ::SetScrollRange(m_hWnd, SB_CTL, nMinPos, nMaxPos, bRedraw); }
        !          1742: inline void CScrollBar::ShowScrollBar(BOOL bShow /* = TRUE */)
        !          1743:        { ::ShowScrollBar(m_hWnd, SB_CTL, bShow); }
        !          1744: #if (WINVER >= 0x030a)
        !          1745: inline BOOL CScrollBar::EnableScrollBar(UINT nArrowFlags /* = ESB_ENABLE_BOTH */ )
        !          1746:        { return ::EnableScrollBar(m_hWnd, SB_CTL, nArrowFlags); }
        !          1747: #endif  /* WINVER >= 0x030a */
        !          1748: 
        !          1749: inline CBitmapButton::CBitmapButton()
        !          1750:        { }
        !          1751: inline CBitmapButton::CBitmapButton(LPCSTR lpBitmapResource,
        !          1752:        LPCSTR lpBitmapResourceSel /* = NULL */,
        !          1753:        LPCSTR lpBitmapResourceFocus /* = NULL */)
        !          1754:        { VERIFY(LoadBitmaps(lpBitmapResource, lpBitmapResourceSel,
        !          1755:                lpBitmapResourceFocus)); }
        !          1756:        
        !          1757: 
        !          1758: // MDI inline functions
        !          1759: inline void CMDIFrameWnd::MDIActivate(CWnd* pWndActivate)
        !          1760:        { ::SendMessage(m_hWndMDIClient, WM_MDIACTIVATE,
        !          1761:                (UINT)pWndActivate->m_hWnd, 0); }
        !          1762: inline CMDIChildWnd* CMDIFrameWnd::MDIGetActive(BOOL* pbMaximized /* = NULL */) const
        !          1763: #ifdef _NTWIN
        !          1764:        { HWND hWnd = (HWND)::SendMessage(m_hWndMDIClient, WM_MDIGETACTIVE, 0, 0);
        !          1765:                if (pbMaximized != NULL)
        !          1766:                        *pbMaximized = !!(::GetWindowLong(hWnd, GWL_STYLE) & WS_MAXIMIZE);
        !          1767:                return (CMDIChildWnd*)CWnd::FromHandle(hWnd); }
        !          1768: #else
        !          1769:        { LONG l;
        !          1770:                l = ::SendMessage(m_hWndMDIClient, WM_MDIGETACTIVE, 0, 0);
        !          1771:                if (pbMaximized != NULL)
        !          1772:                        *pbMaximized = HIWORD(l);
        !          1773:                return (CMDIChildWnd*)CWnd::FromHandle((HWND)LOWORD(l)); }
        !          1774: #endif
        !          1775: inline void CMDIFrameWnd::MDIIconArrange()
        !          1776:        { ::SendMessage(m_hWndMDIClient, WM_MDIICONARRANGE, 0, 0); }
        !          1777: inline void CMDIFrameWnd::MDIMaximize(CWnd* pWnd)
        !          1778:        { ::SendMessage(m_hWndMDIClient, WM_MDIMAXIMIZE, (UINT)pWnd->m_hWnd, 0); }
        !          1779: inline void CMDIFrameWnd::MDINext()
        !          1780:        { ::SendMessage(m_hWndMDIClient, WM_MDINEXT, 0, 0); }
        !          1781: inline void CMDIFrameWnd::MDIRestore(CWnd* pWnd)
        !          1782:        { ::SendMessage(m_hWndMDIClient, WM_MDIRESTORE, (UINT)pWnd->m_hWnd, 0); }
        !          1783: inline CMenu* CMDIFrameWnd::MDISetMenu(CMenu* pFrameMenu, CMenu* pWindowMenu)
        !          1784: #ifdef _NTWIN
        !          1785:        { return CMenu::FromHandle((HMENU)::SendMessage(
        !          1786:                m_hWndMDIClient, WM_MDISETMENU,
        !          1787:                (WPARAM)pFrameMenu->GetSafeHmenu(),
        !          1788:                (LPARAM)pWindowMenu->GetSafeHmenu())); }
        !          1789: #else
        !          1790:        { return CMenu::FromHandle((HMENU)::SendMessage(
        !          1791:                m_hWndMDIClient, WM_MDISETMENU, 0,
        !          1792:                MAKELONG(pFrameMenu->GetSafeHmenu(),
        !          1793:                pWindowMenu->GetSafeHmenu()))); }
        !          1794: #endif
        !          1795: inline void CMDIFrameWnd::MDITile()
        !          1796:        { ::SendMessage(m_hWndMDIClient, WM_MDITILE, 0, 0); }
        !          1797: inline void CMDIFrameWnd::MDICascade()
        !          1798:        { ::SendMessage(m_hWndMDIClient, WM_MDICASCADE, 0, 0); }
        !          1799: 
        !          1800: #if (WINVER >= 0x030a)
        !          1801: inline void CMDIFrameWnd::MDICascade(int nType)
        !          1802:        { ::SendMessage(m_hWndMDIClient, WM_MDICASCADE, nType, 0); }
        !          1803: inline void CMDIFrameWnd::MDITile(int nType)
        !          1804:        { ::SendMessage(m_hWndMDIClient, WM_MDITILE, nType, 0); }
        !          1805: #endif /* WINVER >= 0x030a */
        !          1806: 
        !          1807: inline CMDIChildWnd::CMDIChildWnd() 
        !          1808:        { }
        !          1809: inline void CMDIChildWnd::MDIDestroy()
        !          1810:        { GetParent()->SendMessage(WM_MDIDESTROY, (UINT)m_hWnd); }
        !          1811: inline void CMDIChildWnd::MDIActivate()
        !          1812:        { GetParent()->SendMessage(WM_MDIACTIVATE, (UINT)m_hWnd); }
        !          1813: inline void CMDIChildWnd::MDIMaximize()
        !          1814:        { GetParent()->SendMessage(WM_MDIMAXIMIZE, (UINT)m_hWnd); }
        !          1815: inline void CMDIChildWnd::MDIRestore()
        !          1816:        { GetParent()->SendMessage(WM_MDIRESTORE, (UINT)m_hWnd); }
        !          1817: 
        !          1818: // CWinApp inline functions
        !          1819: inline HCURSOR CWinApp::LoadCursor(LPCSTR lpCursorName)
        !          1820:        { return ::LoadCursor(AfxGetResourceHandle(), lpCursorName); }
        !          1821: inline HCURSOR CWinApp::LoadCursor(UINT nIDCursor)
        !          1822:        { return ::LoadCursor(AfxGetResourceHandle(),
        !          1823:                MAKEINTRESOURCE(nIDCursor)); }
        !          1824: inline HCURSOR CWinApp::LoadStandardCursor(LPCSTR lpCursorName)
        !          1825:        { return ::LoadCursor(NULL, lpCursorName); }
        !          1826: inline HCURSOR CWinApp::LoadOEMCursor(UINT nIDCursor)
        !          1827:        { return ::LoadCursor(NULL, MAKEINTRESOURCE(nIDCursor)); }
        !          1828: inline HICON    CWinApp::LoadIcon(LPCSTR lpIconName)
        !          1829:        { return ::LoadIcon(AfxGetResourceHandle(), lpIconName); }
        !          1830: inline HICON    CWinApp::LoadIcon(UINT nIDIcon)
        !          1831:        { return ::LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(nIDIcon)); }
        !          1832: inline HICON    CWinApp::LoadStandardIcon(LPCSTR lpIconName)
        !          1833:        { return ::LoadIcon(NULL, lpIconName); }
        !          1834: inline HICON    CWinApp::LoadOEMIcon(UINT nIDIcon)
        !          1835:        { return ::LoadIcon(NULL, MAKEINTRESOURCE(nIDIcon)); }
        !          1836: 
        !          1837: #undef THIS_FILE
        !          1838: #define THIS_FILE __FILE__
        !          1839: #endif //__AFXWIN_INL__

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.