home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / BC_502 / MFCINC.PAK / AFXCMN.INL < prev    next >
Encoding:
Text File  |  1997-05-06  |  46.5 KB  |  648 lines

  1. // This is a part of the Microsoft Foundation Classes C++ library.
  2. // Copyright (C) 1992-1995 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 related
  7. // electronic documentation provided with the library.
  8. // See these sources for detailed information regarding the
  9. // Microsoft Foundation Classes product.
  10.  
  11. // Inlines for AFXCMN.H
  12.  
  13. #ifdef _AFXCMN_INLINE
  14.  
  15. _AFXCMN_INLINE CDragListBox::CDragListBox()
  16.     { m_nLast = -1;}
  17. _AFXCMN_INLINE int CDragListBox::ItemFromPt(CPoint pt, BOOL bAutoScroll) const
  18.     {ASSERT(::IsWindow(m_hWnd)); return ::LBItemFromPt(m_hWnd, pt, bAutoScroll); }
  19.  
  20. /////////////////////////////////////////////////////////////////////////////
  21.  
  22. _AFXCMN_INLINE CToolBarCtrl::CToolBarCtrl()
  23.     { }
  24. _AFXCMN_INLINE BOOL CToolBarCtrl::EnableButton(int nID, BOOL bEnable)
  25.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_ENABLEBUTTON, nID, MAKELPARAM(bEnable, 0)); }
  26. _AFXCMN_INLINE BOOL CToolBarCtrl::CheckButton(int nID, BOOL bCheck)
  27.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_CHECKBUTTON, nID, MAKELPARAM(bCheck, 0)); }
  28. _AFXCMN_INLINE BOOL CToolBarCtrl::PressButton(int nID, BOOL bPress)
  29.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_PRESSBUTTON, nID, MAKELPARAM(bPress, 0)); }
  30. _AFXCMN_INLINE BOOL CToolBarCtrl::HideButton(int nID, BOOL bHide)
  31.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_HIDEBUTTON, nID, MAKELPARAM(bHide, 0)); }
  32. _AFXCMN_INLINE BOOL CToolBarCtrl::Indeterminate(int nID, BOOL bIndeterminate)
  33.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_INDETERMINATE, nID, MAKELPARAM(bIndeterminate, 0)); }
  34. _AFXCMN_INLINE BOOL CToolBarCtrl::IsButtonEnabled(int nID) const
  35.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_ISBUTTONENABLED, nID, 0); }
  36. _AFXCMN_INLINE BOOL CToolBarCtrl::IsButtonChecked(int nID) const
  37.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_ISBUTTONCHECKED, nID, 0); }
  38. _AFXCMN_INLINE BOOL CToolBarCtrl::IsButtonPressed(int nID) const
  39.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_ISBUTTONPRESSED, nID, 0); }
  40. _AFXCMN_INLINE BOOL CToolBarCtrl::IsButtonHidden(int nID) const
  41.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_ISBUTTONHIDDEN, nID, 0); }
  42. _AFXCMN_INLINE BOOL CToolBarCtrl::IsButtonIndeterminate(int nID) const
  43.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_ISBUTTONINDETERMINATE, nID, 0); }
  44. _AFXCMN_INLINE BOOL CToolBarCtrl::SetState(int nID, UINT nState)
  45.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_SETSTATE, nID, MAKELPARAM(nState, 0)); }
  46. _AFXCMN_INLINE int CToolBarCtrl::GetState(int nID) const
  47.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TB_GETSTATE, nID, 0L); }
  48. _AFXCMN_INLINE BOOL CToolBarCtrl::AddButtons(int nNumButtons, LPTBBUTTON lpButtons)
  49.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_ADDBUTTONS, nNumButtons, (LPARAM)lpButtons); }
  50. _AFXCMN_INLINE BOOL CToolBarCtrl::InsertButton(int nIndex, LPTBBUTTON lpButton)
  51.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_INSERTBUTTON, nIndex, (LPARAM)lpButton); }
  52. _AFXCMN_INLINE BOOL CToolBarCtrl::DeleteButton(int nIndex)
  53.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_DELETEBUTTON, nIndex, 0); }
  54. _AFXCMN_INLINE BOOL CToolBarCtrl::GetButton(int nIndex, LPTBBUTTON lpButton) const
  55.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_GETBUTTON, nIndex, (LPARAM)lpButton); }
  56. _AFXCMN_INLINE int CToolBarCtrl::GetButtonCount() const
  57.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TB_BUTTONCOUNT, 0, 0L); }
  58. _AFXCMN_INLINE UINT CToolBarCtrl::CommandToIndex(UINT nID) const
  59.     { ASSERT(::IsWindow(m_hWnd)); return (UINT) ::SendMessage(m_hWnd, TB_COMMANDTOINDEX, nID, 0L); }
  60. _AFXCMN_INLINE void CToolBarCtrl::Customize()
  61.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TB_CUSTOMIZE, 0, 0L); }
  62. // lpszStrings are separated by zeroes, last one is marked by two zeroes
  63. _AFXCMN_INLINE int CToolBarCtrl::AddStrings(LPCTSTR lpszStrings)
  64.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TB_ADDSTRING, 0, (LPARAM)lpszStrings); }
  65. _AFXCMN_INLINE BOOL CToolBarCtrl::GetItemRect(int nIndex, LPRECT lpRect) const
  66.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_GETITEMRECT, nIndex, (LPARAM)lpRect); }
  67. _AFXCMN_INLINE void CToolBarCtrl::SetButtonStructSize(int nSize)
  68.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TB_BUTTONSTRUCTSIZE, nSize, 0L); }
  69. _AFXCMN_INLINE BOOL CToolBarCtrl::SetButtonSize(CSize size)
  70.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_SETBUTTONSIZE, 0, MAKELPARAM(size.cx, size.cy)); }
  71. _AFXCMN_INLINE BOOL CToolBarCtrl::SetBitmapSize(CSize size)
  72.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_SETBITMAPSIZE, 0, MAKELPARAM(size.cx, size.cy)); }
  73. _AFXCMN_INLINE void CToolBarCtrl::AutoSize()
  74.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TB_AUTOSIZE, 0, 0L); }
  75. _AFXCMN_INLINE CToolTipCtrl* CToolBarCtrl::GetToolTips() const
  76.     { ASSERT(::IsWindow(m_hWnd)); return (CToolTipCtrl*)CWnd::FromHandle((HWND)::SendMessage(m_hWnd, TB_GETTOOLTIPS, 0, 0L)); }
  77. _AFXCMN_INLINE void CToolBarCtrl::SetToolTips(CToolTipCtrl* pTip)
  78.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TB_SETTOOLTIPS, (WPARAM)pTip->m_hWnd, 0L); }
  79. _AFXCMN_INLINE void CToolBarCtrl::SetOwner(CWnd* pWnd)
  80.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TB_SETPARENT, (WPARAM)pWnd->m_hWnd, 0L); }
  81. _AFXCMN_INLINE void CToolBarCtrl::SetRows(int nRows, BOOL bLarger, LPRECT lpRect)
  82.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TB_SETROWS, MAKELPARAM(nRows, bLarger), (LPARAM)lpRect); }
  83. _AFXCMN_INLINE int CToolBarCtrl::GetRows() const
  84.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TB_GETROWS, 0, 0L); }
  85. _AFXCMN_INLINE BOOL CToolBarCtrl::SetCmdID(int nIndex, UINT nID)
  86.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TB_SETCMDID, nIndex, nID); }
  87. _AFXCMN_INLINE UINT CToolBarCtrl::GetBitmapFlags() const
  88.     { ASSERT(::IsWindow(m_hWnd)); return (UINT) ::SendMessage(m_hWnd, TB_GETBITMAPFLAGS, 0, 0L); }
  89.  
  90. /////////////////////////////////////////////////////////////////////////////
  91.  
  92. _AFXCMN_INLINE CStatusBarCtrl::CStatusBarCtrl()
  93.     { }
  94. _AFXCMN_INLINE BOOL CStatusBarCtrl::SetText(LPCTSTR lpszText, int nPane, int nType)
  95.     { ASSERT(::IsWindow(m_hWnd)); ASSERT(nPane < 256); return (BOOL) ::SendMessage(m_hWnd, SB_SETTEXT, (nPane|nType), (LPARAM)lpszText); }
  96. _AFXCMN_INLINE BOOL CStatusBarCtrl::SetParts(int nParts, int* pWidths)
  97.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, SB_SETPARTS, nParts, (LPARAM)pWidths); }
  98. _AFXCMN_INLINE int CStatusBarCtrl::GetParts(int nParts, int* pParts) const
  99.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, SB_GETPARTS, nParts, (LPARAM)pParts); }
  100. _AFXCMN_INLINE BOOL CStatusBarCtrl::GetBorders(int* pBorders) const
  101.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, SB_GETBORDERS, 0, (LPARAM)pBorders); }
  102. _AFXCMN_INLINE void CStatusBarCtrl::SetMinHeight(int nMin)
  103.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, SB_SETMINHEIGHT, nMin, 0L); }
  104. _AFXCMN_INLINE BOOL CStatusBarCtrl::SetSimple(BOOL bSimple)
  105.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, SB_SIMPLE, bSimple, 0L); }
  106. _AFXCMN_INLINE BOOL CStatusBarCtrl::GetRect(int nPane, LPRECT lpRect) const
  107.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, SB_GETRECT, nPane, (LPARAM)lpRect); }
  108.  
  109. /////////////////////////////////////////////////////////////////////////////
  110.  
  111. _AFXCMN_INLINE CListCtrl::CListCtrl()
  112.     { }
  113. _AFXCMN_INLINE COLORREF CListCtrl::GetBkColor() const
  114.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, LVM_GETBKCOLOR, 0, 0L); }
  115. _AFXCMN_INLINE BOOL CListCtrl::SetBkColor(COLORREF cr)
  116.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETBKCOLOR, 0, cr); }
  117. _AFXCMN_INLINE CImageList* CListCtrl::GetImageList(int nImageListType) const
  118.     { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST) ::SendMessage(m_hWnd, LVM_GETIMAGELIST, nImageListType, 0L)); }
  119. _AFXCMN_INLINE CImageList* CListCtrl::SetImageList(CImageList* pImageList, int nImageList)
  120.     { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST) ::SendMessage(m_hWnd, LVM_SETIMAGELIST, nImageList, (LPARAM)pImageList->GetSafeHandle())); }
  121. _AFXCMN_INLINE int CListCtrl::GetItemCount() const
  122.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_GETITEMCOUNT, 0, 0L); }
  123. _AFXCMN_INLINE BOOL CListCtrl::GetItem(LV_ITEM* pItem) const
  124.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_GETITEM, 0, (LPARAM)pItem); }
  125. _AFXCMN_INLINE BOOL CListCtrl::SetItem(const LV_ITEM* pItem)
  126.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETITEM, 0, (LPARAM)pItem); }
  127. _AFXCMN_INLINE BOOL CListCtrl::SetItemState(int nItem, UINT nState, UINT nStateMask)
  128.     { ASSERT(::IsWindow(m_hWnd)); return SetItem(nItem, 0, LVIF_STATE, NULL, 0, nState, nStateMask, 0); }
  129. _AFXCMN_INLINE BOOL CListCtrl::SetItemText(int nItem, int nSubItem, LPCTSTR lpszText)
  130.     { ASSERT(::IsWindow(m_hWnd)); return SetItem(nItem, nSubItem, LVIF_TEXT, lpszText, 0, 0, 0, 0); }
  131. _AFXCMN_INLINE BOOL CListCtrl::SetItemData(int nItem, DWORD dwData)
  132.     { ASSERT(::IsWindow(m_hWnd)); return SetItem(nItem, 0, LVIF_PARAM, NULL, 0, 0, 0, (LPARAM)dwData); }
  133. _AFXCMN_INLINE int CListCtrl::InsertItem(const LV_ITEM* pItem)
  134.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_INSERTITEM, 0, (LPARAM)pItem); }
  135. _AFXCMN_INLINE int CListCtrl::InsertItem(int nItem, LPCTSTR lpszItem)
  136.     { ASSERT(::IsWindow(m_hWnd)); return InsertItem(LVIF_TEXT, nItem, lpszItem, 0, 0, 0, 0); }
  137. _AFXCMN_INLINE int CListCtrl::InsertItem(int nItem, LPCTSTR lpszItem, int nImage)
  138.     { ASSERT(::IsWindow(m_hWnd)); return InsertItem(LVIF_TEXT|LVIF_IMAGE, nItem, lpszItem, 0, 0, nImage, 0); }
  139. _AFXCMN_INLINE BOOL CListCtrl::DeleteItem(int nItem)
  140.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_DELETEITEM, nItem, 0L); }
  141. _AFXCMN_INLINE BOOL CListCtrl::DeleteAllItems()
  142.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_DELETEALLITEMS, 0, 0L); }
  143. _AFXCMN_INLINE UINT CListCtrl::GetCallbackMask() const
  144.     { ASSERT(::IsWindow(m_hWnd)); return (UINT) ::SendMessage(m_hWnd, LVM_GETCALLBACKMASK, 0, 0); }
  145. _AFXCMN_INLINE BOOL CListCtrl::SetCallbackMask(UINT nMask)
  146.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETCALLBACKMASK, nMask, 0); }
  147. _AFXCMN_INLINE int CListCtrl::GetNextItem(int nItem, int nFlags) const
  148.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_GETNEXTITEM, nItem, MAKELPARAM(nFlags, 0)); }
  149. _AFXCMN_INLINE int CListCtrl::FindItem(LV_FINDINFO* pFindInfo, int nStart) const
  150.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_FINDITEM, nStart, (LPARAM)pFindInfo); }
  151. _AFXCMN_INLINE int CListCtrl::HitTest(LV_HITTESTINFO* pHitTestInfo) const
  152.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_HITTEST, 0, (LPARAM)pHitTestInfo); }
  153. _AFXCMN_INLINE BOOL CListCtrl::SetItemPosition(int nItem, POINT pt)
  154.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETITEMPOSITION32, nItem, (LPARAM)&pt); }
  155. _AFXCMN_INLINE BOOL CListCtrl::GetItemPosition(int nItem, LPPOINT lpPoint) const
  156.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_GETITEMPOSITION, nItem, (LPARAM)lpPoint); }
  157. _AFXCMN_INLINE int CListCtrl::GetStringWidth(LPCTSTR lpsz) const
  158.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_GETSTRINGWIDTH, 0, (LPARAM)lpsz); }
  159. _AFXCMN_INLINE BOOL CListCtrl::EnsureVisible(int nItem, BOOL bPartialOK)
  160.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_ENSUREVISIBLE, nItem, MAKELPARAM(bPartialOK, 0)); }
  161. _AFXCMN_INLINE BOOL CListCtrl::Scroll(CSize size)
  162.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SCROLL, size.cx, size.cy); }
  163. _AFXCMN_INLINE BOOL CListCtrl::RedrawItems(int nFirst, int nLast)
  164.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_REDRAWITEMS, 0, MAKELPARAM(nFirst, nLast)); }
  165. _AFXCMN_INLINE BOOL CListCtrl::Arrange(UINT nCode)
  166.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_ARRANGE, nCode, 0L); }
  167. _AFXCMN_INLINE CEdit* CListCtrl::EditLabel(int nItem)
  168.     { ASSERT(::IsWindow(m_hWnd)); return (CEdit*)CWnd::FromHandle( (HWND)::SendMessage(m_hWnd, LVM_EDITLABEL, nItem, 0L)); }
  169. _AFXCMN_INLINE CEdit* CListCtrl::GetEditControl() const
  170.     { ASSERT(::IsWindow(m_hWnd)); return (CEdit*)CWnd::FromHandle( (HWND)::SendMessage(m_hWnd, LVM_GETEDITCONTROL, 0, 0L)); }
  171. _AFXCMN_INLINE BOOL CListCtrl::GetColumn(int nCol, LV_COLUMN* pColumn) const
  172.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_GETCOLUMN, nCol, (LPARAM)pColumn); }
  173. _AFXCMN_INLINE BOOL CListCtrl::SetColumn(int nCol, const LV_COLUMN* pColumn)
  174.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETCOLUMN, nCol, (LPARAM)pColumn); }
  175. _AFXCMN_INLINE int CListCtrl::InsertColumn(int nCol, const LV_COLUMN* pColumn)
  176.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_INSERTCOLUMN, nCol, (LPARAM)pColumn); }
  177. _AFXCMN_INLINE BOOL CListCtrl::DeleteColumn(int nCol)
  178.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_DELETECOLUMN, nCol, 0); }
  179. _AFXCMN_INLINE int CListCtrl::GetColumnWidth(int nCol) const
  180.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_GETCOLUMNWIDTH, nCol, 0); }
  181. _AFXCMN_INLINE BOOL CListCtrl::SetColumnWidth(int nCol, int cx)
  182.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETCOLUMNWIDTH, nCol, MAKELPARAM(cx, 0)); }
  183. _AFXCMN_INLINE CImageList* CListCtrl::CreateDragImage(int nItem, LPPOINT lpPoint)
  184.     { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST) ::SendMessage(m_hWnd, LVM_CREATEDRAGIMAGE, nItem, (LPARAM)lpPoint)); }
  185. _AFXCMN_INLINE BOOL CListCtrl::GetViewRect(LPRECT lpRect) const
  186.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_GETVIEWRECT, 0, (LPARAM)lpRect); }
  187. _AFXCMN_INLINE COLORREF CListCtrl::GetTextColor() const
  188.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, LVM_GETTEXTCOLOR, 0, 0L); }
  189. _AFXCMN_INLINE BOOL CListCtrl::SetTextColor(COLORREF cr)
  190.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETTEXTCOLOR, 0, cr); }
  191. _AFXCMN_INLINE COLORREF CListCtrl::GetTextBkColor() const
  192.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, LVM_GETTEXTBKCOLOR, 0, 0L); }
  193. _AFXCMN_INLINE BOOL CListCtrl::SetTextBkColor(COLORREF cr)
  194.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETTEXTBKCOLOR, 0, cr); }
  195. _AFXCMN_INLINE int CListCtrl::GetTopIndex() const
  196.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_GETTOPINDEX, 0, 0); }
  197. _AFXCMN_INLINE int CListCtrl::GetCountPerPage() const
  198.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_GETCOUNTPERPAGE, 0, 0); }
  199. _AFXCMN_INLINE BOOL CListCtrl::GetOrigin(LPPOINT lpPoint) const
  200.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_GETORIGIN, 0, (LPARAM)lpPoint); }
  201. _AFXCMN_INLINE BOOL CListCtrl::Update(int nItem)
  202.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_UPDATE, nItem, 0L); }
  203. _AFXCMN_INLINE BOOL CListCtrl::SetItemState(int nItem, LV_ITEM* pItem)
  204.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETITEMSTATE, nItem, (LPARAM)pItem); }
  205. _AFXCMN_INLINE UINT CListCtrl::GetItemState(int nItem, UINT nMask) const
  206.     { ASSERT(::IsWindow(m_hWnd)); return (UINT) ::SendMessage(m_hWnd, LVM_GETITEMSTATE, nItem, nMask); }
  207. _AFXCMN_INLINE void CListCtrl::SetItemCount(int nItems)
  208.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, LVM_SETITEMCOUNT, nItems, 0); }
  209. _AFXCMN_INLINE BOOL CListCtrl::SortItems(PFNLVCOMPARE pfnCompare, DWORD dwData)
  210.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SORTITEMS, dwData, (LPARAM)pfnCompare); }
  211. _AFXCMN_INLINE UINT CListCtrl::GetSelectedCount() const
  212.     { ASSERT(::IsWindow(m_hWnd)); return (UINT) ::SendMessage(m_hWnd, LVM_GETSELECTEDCOUNT, 0, 0L); }
  213.  
  214. /////////////////////////////////////////////////////////////////////////////
  215.  
  216. _AFXCMN_INLINE CTreeCtrl::CTreeCtrl()
  217.     { }
  218. _AFXCMN_INLINE HTREEITEM CTreeCtrl::InsertItem(LPTV_INSERTSTRUCT lpInsertStruct)
  219.     { ASSERT(::IsWindow(m_hWnd));  return (HTREEITEM)::SendMessage(m_hWnd, TVM_INSERTITEM, 0, (LPARAM)lpInsertStruct); }
  220. _AFXCMN_INLINE HTREEITEM CTreeCtrl::InsertItem(LPCTSTR lpszItem, int nImage,
  221.     int nSelectedImage, HTREEITEM hParent, HTREEITEM hInsertAfter)
  222.     { ASSERT(::IsWindow(m_hWnd)); return InsertItem(TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE, lpszItem, nImage, nSelectedImage, 0, 0, 0, hParent, hInsertAfter); }
  223. _AFXCMN_INLINE HTREEITEM CTreeCtrl::InsertItem(LPCTSTR lpszItem, HTREEITEM hParent, HTREEITEM hInsertAfter)
  224.     { ASSERT(::IsWindow(m_hWnd)); return InsertItem(TVIF_TEXT, lpszItem, 0, 0, 0, 0, 0, hParent, hInsertAfter); }
  225. _AFXCMN_INLINE BOOL CTreeCtrl::DeleteItem(HTREEITEM hItem)
  226.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_DELETEITEM, 0, (LPARAM)hItem); }
  227. #pragma warning(disable: 4310)
  228. _AFXCMN_INLINE BOOL CTreeCtrl::DeleteAllItems()
  229.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_DELETEITEM, 0, (LPARAM)TVI_ROOT); }
  230. #pragma warning(default: 4310)
  231. _AFXCMN_INLINE BOOL CTreeCtrl::Expand(HTREEITEM hItem, UINT nCode)
  232.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_EXPAND, nCode, (LPARAM)hItem); }
  233. _AFXCMN_INLINE UINT CTreeCtrl::GetCount() const
  234.     { ASSERT(::IsWindow(m_hWnd)); return (UINT)::SendMessage(m_hWnd, TVM_GETCOUNT, 0, 0); }
  235. _AFXCMN_INLINE UINT CTreeCtrl::GetIndent() const
  236.     { ASSERT(::IsWindow(m_hWnd)); return (UINT)::SendMessage(m_hWnd, TVM_GETINDENT, 0, 0); }
  237. _AFXCMN_INLINE void CTreeCtrl::SetIndent(UINT nIndent)
  238.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TVM_SETINDENT, nIndent, 0); }
  239. _AFXCMN_INLINE CImageList* CTreeCtrl::GetImageList(UINT nImageList) const
  240.     { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST)::SendMessage(m_hWnd, TVM_GETIMAGELIST, (UINT)nImageList, 0)); }
  241. _AFXCMN_INLINE CImageList* CTreeCtrl::SetImageList(CImageList* pImageList, int nImageListType)
  242.     { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST)::SendMessage(m_hWnd, TVM_SETIMAGELIST, (UINT)nImageListType, (LPARAM)pImageList->GetSafeHandle())); }
  243. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetNextItem(HTREEITEM hItem, UINT nCode) const
  244.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, nCode, (LPARAM)hItem); }
  245. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetChildItem(HTREEITEM hItem) const
  246.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_CHILD, (LPARAM)hItem); }
  247. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetNextSiblingItem(HTREEITEM hItem) const
  248.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_NEXT, (LPARAM)hItem); }
  249. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetPrevSiblingItem(HTREEITEM hItem) const
  250.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_PREVIOUS, (LPARAM)hItem); }
  251. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetParentItem(HTREEITEM hItem) const
  252.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_PARENT, (LPARAM)hItem); }
  253. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetFirstVisibleItem() const
  254.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_FIRSTVISIBLE, 0); }
  255. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetNextVisibleItem(HTREEITEM hItem) const
  256.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_NEXTVISIBLE, (LPARAM)hItem); }
  257. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetPrevVisibleItem(HTREEITEM hItem) const
  258.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_PREVIOUSVISIBLE, (LPARAM)hItem); }
  259. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetSelectedItem() const
  260.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_CARET, 0); }
  261. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetDropHilightItem() const
  262.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_DROPHILITE, 0); }
  263. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetRootItem() const
  264.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_ROOT, 0); }
  265. _AFXCMN_INLINE HTREEITEM CTreeCtrl::Select(HTREEITEM hItem, UINT nCode)
  266.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_SELECTITEM, nCode, (LPARAM)hItem); }
  267. _AFXCMN_INLINE HTREEITEM CTreeCtrl::SelectItem(HTREEITEM hItem)
  268.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_SELECTITEM, TVGN_CARET, (LPARAM)hItem); }
  269. _AFXCMN_INLINE HTREEITEM CTreeCtrl::SelectDropTarget(HTREEITEM hItem)
  270.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_SELECTITEM, TVGN_DROPHILITE, (LPARAM)hItem); }
  271. _AFXCMN_INLINE HTREEITEM CTreeCtrl::SelectSetFirstVisible(HTREEITEM hItem)
  272.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_SELECTITEM, TVGN_FIRSTVISIBLE, (LPARAM)hItem); }
  273. _AFXCMN_INLINE BOOL CTreeCtrl::GetItem(TV_ITEM* pItem) const
  274.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_GETITEM, 0, (LPARAM)pItem); }
  275. _AFXCMN_INLINE BOOL CTreeCtrl::SetItem(TV_ITEM* pItem)
  276.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_SETITEM, 0, (LPARAM)pItem); }
  277. _AFXCMN_INLINE BOOL CTreeCtrl::SetItemText(HTREEITEM hItem, LPCTSTR lpszItem)
  278.     { ASSERT(::IsWindow(m_hWnd)); return SetItem(hItem, TVIF_TEXT, lpszItem, 0, 0, 0, 0, NULL); }
  279. _AFXCMN_INLINE BOOL CTreeCtrl::SetItemImage(HTREEITEM hItem, int nImage, int nSelectedImage)
  280.     { ASSERT(::IsWindow(m_hWnd)); return SetItem(hItem, TVIF_IMAGE|TVIF_SELECTEDIMAGE, NULL, nImage, nSelectedImage, 0, 0, NULL); }
  281. _AFXCMN_INLINE BOOL CTreeCtrl::SetItemState(HTREEITEM hItem, UINT nState, UINT nStateMask)
  282.     { ASSERT(::IsWindow(m_hWnd)); return SetItem(hItem, TVIF_STATE, NULL, 0, 0, nState, nStateMask, NULL); }
  283. _AFXCMN_INLINE BOOL CTreeCtrl::SetItemData(HTREEITEM hItem, DWORD dwData)
  284.     { ASSERT(::IsWindow(m_hWnd)); return SetItem(hItem, TVIF_PARAM, NULL, 0, 0, 0, 0, (LPARAM)dwData); }
  285. _AFXCMN_INLINE CEdit* CTreeCtrl::EditLabel(HTREEITEM hItem)
  286.     { ASSERT(::IsWindow(m_hWnd)); return (CEdit*)CWnd::FromHandle((HWND)::SendMessage(m_hWnd, TVM_EDITLABEL, 0, (LPARAM)hItem)); }
  287. _AFXCMN_INLINE HTREEITEM CTreeCtrl::HitTest(TV_HITTESTINFO* pHitTestInfo) const
  288.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_HITTEST, 0, (LPARAM)pHitTestInfo); }
  289. _AFXCMN_INLINE CEdit* CTreeCtrl::GetEditControl() const
  290.     { ASSERT(::IsWindow(m_hWnd)); return (CEdit*)CWnd::FromHandle((HWND)::SendMessage(m_hWnd, TVM_GETEDITCONTROL, 0, 0)); }
  291. _AFXCMN_INLINE UINT CTreeCtrl::GetVisibleCount() const
  292.     { ASSERT(::IsWindow(m_hWnd)); return (UINT)::SendMessage(m_hWnd, TVM_GETVISIBLECOUNT, 0, 0); }
  293. _AFXCMN_INLINE CImageList* CTreeCtrl::CreateDragImage(HTREEITEM hItem)
  294.     { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST)::SendMessage(m_hWnd, TVM_CREATEDRAGIMAGE, 0, (LPARAM)hItem)); }
  295. _AFXCMN_INLINE BOOL CTreeCtrl::SortChildren(HTREEITEM hItem)
  296.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_SORTCHILDREN, 0, (LPARAM)hItem); }
  297. _AFXCMN_INLINE BOOL CTreeCtrl::EnsureVisible(HTREEITEM hItem)
  298.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_ENSUREVISIBLE, 0, (LPARAM)hItem); }
  299. _AFXCMN_INLINE BOOL CTreeCtrl::SortChildrenCB(LPTV_SORTCB pSort)
  300.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_SORTCHILDRENCB, 0, (LPARAM)pSort); }
  301.  
  302. /////////////////////////////////////////////////////////////////////////////
  303.  
  304. _AFXCMN_INLINE CHotKeyCtrl::CHotKeyCtrl()
  305.     { }
  306. _AFXCMN_INLINE void CHotKeyCtrl::SetHotKey(WORD wVirtualKeyCode, WORD wModifiers)
  307.     { ASSERT(::IsWindow(m_hWnd));  ::SendMessage(m_hWnd, HKM_SETHOTKEY, MAKEWORD(wVirtualKeyCode, wModifiers), 0L); }
  308. _AFXCMN_INLINE DWORD CHotKeyCtrl::GetHotKey() const
  309.     { ASSERT(::IsWindow(m_hWnd)); return ::SendMessage(m_hWnd, HKM_GETHOTKEY, 0, 0L); }
  310. _AFXCMN_INLINE void CHotKeyCtrl::SetRules(WORD wInvalidComb, WORD wModifiers)
  311.     { ASSERT(::IsWindow(m_hWnd));  ::SendMessage(m_hWnd, HKM_SETRULES, wInvalidComb, MAKELPARAM(wModifiers, 0)); }
  312.  
  313. /////////////////////////////////////////////////////////////////////////////
  314.  
  315. _AFXCMN_INLINE void CToolTipCtrl::Activate(BOOL bActivate)
  316.     { ASSERT(::IsWindow(m_hWnd));  ::SendMessage(m_hWnd, TTM_ACTIVATE, bActivate, 0L); }
  317. _AFXCMN_INLINE void CToolTipCtrl::SetToolInfo(LPTOOLINFO lpToolInfo)
  318.     { ASSERT(::IsWindow(m_hWnd));  ::SendMessage(m_hWnd, TTM_SETTOOLINFO, 0, (LPARAM)lpToolInfo); }
  319. _AFXCMN_INLINE void CToolTipCtrl::RelayEvent(LPMSG lpMsg)
  320.     { ASSERT(::IsWindow(m_hWnd));  ::SendMessage(m_hWnd, TTM_RELAYEVENT, 0, (LPARAM)lpMsg); }
  321. _AFXCMN_INLINE void CToolTipCtrl::SetDelayTime(UINT nDelay)
  322.     { ASSERT(::IsWindow(m_hWnd));  ::SendMessage(m_hWnd, TTM_SETDELAYTIME, 0, nDelay); }
  323. _AFXCMN_INLINE int CToolTipCtrl::GetToolCount() const
  324.     { ASSERT(::IsWindow(m_hWnd));  return (int) ::SendMessage(m_hWnd, TTM_GETTOOLCOUNT, 0, 0L); }
  325.  
  326. /////////////////////////////////////////////////////////////////////////////
  327.  
  328. _AFXCMN_INLINE CSpinButtonCtrl::CSpinButtonCtrl()
  329.     { }
  330. _AFXCMN_INLINE UINT CSpinButtonCtrl::GetAccel(int nAccel, UDACCEL* pAccel) const
  331.     { ASSERT(::IsWindow(m_hWnd)); return (UINT) LOWORD(::SendMessage(m_hWnd, UDM_GETACCEL, nAccel, (LPARAM)pAccel)); }
  332. _AFXCMN_INLINE UINT CSpinButtonCtrl::GetBase() const
  333.     { ASSERT(::IsWindow(m_hWnd)); return (UINT) LOWORD(::SendMessage(m_hWnd, UDM_GETBASE, 0, 0l)); }
  334. _AFXCMN_INLINE CWnd* CSpinButtonCtrl::GetBuddy() const
  335.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle((HWND) ::SendMessage(m_hWnd, UDM_GETBUDDY, 0, 0l)); }
  336. _AFXCMN_INLINE int CSpinButtonCtrl::GetPos() const
  337.     { ASSERT(::IsWindow(m_hWnd)); return (int) LOWORD(::SendMessage(m_hWnd, UDM_GETPOS, 0, 0l)); }
  338. _AFXCMN_INLINE DWORD CSpinButtonCtrl::GetRange() const
  339.     { ASSERT(::IsWindow(m_hWnd)); return (DWORD) ::SendMessage(m_hWnd, UDM_GETRANGE, 0, 0l); }
  340. _AFXCMN_INLINE BOOL CSpinButtonCtrl::SetAccel(int nAccel, UDACCEL* pAccel)
  341.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) LOWORD(::SendMessage(m_hWnd, UDM_SETACCEL, nAccel, (LPARAM)pAccel)); }
  342. _AFXCMN_INLINE int CSpinButtonCtrl::SetBase(int nBase)
  343.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, UDM_SETBASE, nBase, 0L); }
  344. _AFXCMN_INLINE CWnd* CSpinButtonCtrl::SetBuddy(CWnd* pWndBuddy)
  345.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle((HWND) ::SendMessage(m_hWnd, UDM_SETBUDDY, (WPARAM)pWndBuddy->m_hWnd, 0L)); }
  346. _AFXCMN_INLINE int CSpinButtonCtrl::SetPos(int nPos)
  347.     { ASSERT(::IsWindow(m_hWnd)); return (int) (short) LOWORD(::SendMessage(m_hWnd, UDM_SETPOS, 0, MAKELPARAM(nPos, 0))); }
  348. _AFXCMN_INLINE void CSpinButtonCtrl::SetRange(int nLower, int nUpper)
  349.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, UDM_SETRANGE, 0, MAKELPARAM(nUpper, nLower)); }
  350.  
  351. /////////////////////////////////////////////////////////////////////////////
  352.  
  353. _AFXCMN_INLINE CSliderCtrl::CSliderCtrl()
  354.     { }
  355. _AFXCMN_INLINE int CSliderCtrl::GetLineSize() const
  356.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_GETLINESIZE, 0, 0l); }
  357. _AFXCMN_INLINE int CSliderCtrl::SetLineSize(int nSize)
  358.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_SETLINESIZE, 0, nSize); }
  359. _AFXCMN_INLINE int CSliderCtrl::GetPageSize() const
  360.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_GETPAGESIZE, 0, 0l); }
  361. _AFXCMN_INLINE int CSliderCtrl::SetPageSize(int nSize)
  362.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_SETPAGESIZE, 0, nSize); }
  363. _AFXCMN_INLINE int CSliderCtrl::GetRangeMax() const
  364.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_GETRANGEMAX, 0, 0l); }
  365. _AFXCMN_INLINE int CSliderCtrl::GetRangeMin() const
  366.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_GETRANGEMIN, 0, 0l); }
  367. _AFXCMN_INLINE void CSliderCtrl::SetRangeMin(int nMin, BOOL bRedraw)
  368.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_SETRANGEMIN, bRedraw, nMin); }
  369. _AFXCMN_INLINE void CSliderCtrl::SetRangeMax(int nMax, BOOL bRedraw)
  370.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_SETRANGEMAX, bRedraw, nMax); }
  371. _AFXCMN_INLINE void CSliderCtrl::ClearSel(BOOL bRedraw)
  372.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_CLEARSEL, bRedraw, 0l); }
  373. _AFXCMN_INLINE void CSliderCtrl::GetChannelRect(LPRECT lprc) const
  374.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_GETCHANNELRECT, 0, (LPARAM)lprc); }
  375. _AFXCMN_INLINE void CSliderCtrl::GetThumbRect(LPRECT lprc) const
  376.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_GETTHUMBRECT, 0, (LPARAM)lprc); }
  377. _AFXCMN_INLINE int CSliderCtrl::GetPos() const
  378.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_GETPOS, 0, 0l); }
  379. _AFXCMN_INLINE void CSliderCtrl::SetPos(int nPos)
  380.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_SETPOS, TRUE, nPos); }
  381. _AFXCMN_INLINE void CSliderCtrl::VerifyPos()
  382.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_SETPOS, FALSE, 0L); }
  383. _AFXCMN_INLINE void CSliderCtrl::ClearTics(BOOL bRedraw)
  384.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_CLEARTICS, bRedraw, 0l); }
  385. _AFXCMN_INLINE UINT CSliderCtrl::GetNumTics() const
  386.     { ASSERT(::IsWindow(m_hWnd)); return (UINT) ::SendMessage(m_hWnd, TBM_GETNUMTICS, 0, 0l); }
  387. _AFXCMN_INLINE DWORD* CSliderCtrl::GetTicArray() const
  388.     { ASSERT(::IsWindow(m_hWnd)); return (DWORD*) ::SendMessage(m_hWnd, TBM_GETPTICS, 0, 0l); }
  389. _AFXCMN_INLINE int CSliderCtrl::GetTic(int nTic) const
  390.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_GETTIC, nTic, 0L); }
  391. _AFXCMN_INLINE int CSliderCtrl::GetTicPos(int nTic) const
  392.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_GETTICPOS, nTic, 0L); }
  393. _AFXCMN_INLINE BOOL CSliderCtrl::SetTic(int nTic)
  394.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TBM_SETTIC, 0, nTic); }
  395. _AFXCMN_INLINE void CSliderCtrl::SetTicFreq(int nFreq)
  396.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_SETTICFREQ, nFreq, 0L); }
  397.  
  398. /////////////////////////////////////////////////////////////////////////////
  399.  
  400. _AFXCMN_INLINE CProgressCtrl::CProgressCtrl()
  401.     { }
  402. _AFXCMN_INLINE void CProgressCtrl::SetRange(int nLower, int nUpper)
  403.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, PBM_SETRANGE, 0, MAKELPARAM(nLower, nUpper)); }
  404. _AFXCMN_INLINE int CProgressCtrl::SetPos(int nPos)
  405.     { ASSERT(::IsWindow(m_hWnd)); return (int) LOWORD(::SendMessage(m_hWnd, PBM_SETPOS, nPos, 0L)); }
  406. _AFXCMN_INLINE int CProgressCtrl::OffsetPos(int nPos)
  407.     { ASSERT(::IsWindow(m_hWnd)); return (int) LOWORD(::SendMessage(m_hWnd, PBM_DELTAPOS, nPos, 0L)); }
  408. _AFXCMN_INLINE int CProgressCtrl::SetStep(int nStep)
  409.     { ASSERT(::IsWindow(m_hWnd)); return (int) LOWORD(::SendMessage(m_hWnd, PBM_SETSTEP, nStep, 0L)); }
  410. _AFXCMN_INLINE int CProgressCtrl::StepIt()
  411.     { ASSERT(::IsWindow(m_hWnd)); return (int) LOWORD(::SendMessage(m_hWnd, PBM_STEPIT, 0, 0L)); }
  412.  
  413. /////////////////////////////////////////////////////////////////////////////
  414.  
  415. _AFXCMN_INLINE CHeaderCtrl::CHeaderCtrl()
  416.     { }
  417. _AFXCMN_INLINE int CHeaderCtrl::GetItemCount() const
  418.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, HDM_GETITEMCOUNT, 0, 0L); }
  419. _AFXCMN_INLINE int CHeaderCtrl::InsertItem(int nPos, HD_ITEM* phdi)
  420.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, HDM_INSERTITEM, nPos, (LPARAM)phdi); }
  421. _AFXCMN_INLINE BOOL CHeaderCtrl::DeleteItem(int nPos)
  422.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, HDM_DELETEITEM, nPos, 0L); }
  423. _AFXCMN_INLINE BOOL CHeaderCtrl::GetItem(int nPos, HD_ITEM* pHeaderItem) const
  424.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, HDM_GETITEM, nPos, (LPARAM)pHeaderItem); }
  425. _AFXCMN_INLINE BOOL CHeaderCtrl::SetItem(int nPos, HD_ITEM* pHeaderItem)
  426.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, HDM_SETITEM, nPos, (LPARAM)pHeaderItem); }
  427. _AFXCMN_INLINE BOOL CHeaderCtrl::Layout(HD_LAYOUT* pHeaderLayout)
  428.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, HDM_LAYOUT, 0, (LPARAM)pHeaderLayout); }
  429.  
  430. /////////////////////////////////////////////////////////////////////////////
  431.  
  432. _AFXCMN_INLINE CImageList::operator HIMAGELIST() const
  433.     { return m_hImageList;}
  434. _AFXCMN_INLINE HIMAGELIST CImageList::GetSafeHandle() const
  435.     { return (this == NULL) ? NULL : m_hImageList; }
  436. _AFXCMN_INLINE int CImageList::GetImageCount() const
  437.     { ASSERT(m_hImageList != NULL); return ImageList_GetImageCount(m_hImageList); }
  438. _AFXCMN_INLINE int CImageList::Add(CBitmap* pbmImage, CBitmap* pbmMask)
  439.     { ASSERT(m_hImageList != NULL); return ImageList_Add(m_hImageList, (HBITMAP)pbmImage->GetSafeHandle(), (HBITMAP)pbmMask->GetSafeHandle()); }
  440. _AFXCMN_INLINE int CImageList::Add(CBitmap* pbmImage, COLORREF crMask)
  441.     { ASSERT(m_hImageList != NULL); return ImageList_AddMasked(m_hImageList, (HBITMAP)pbmImage->GetSafeHandle(), crMask); }
  442. _AFXCMN_INLINE BOOL CImageList::Remove(int nImage)
  443.     { ASSERT(m_hImageList != NULL); return ImageList_Remove(m_hImageList, nImage); }
  444. _AFXCMN_INLINE BOOL CImageList::Replace(int nImage, CBitmap* pbmImage, CBitmap* pbmMask)
  445.     { ASSERT(m_hImageList != NULL); return ImageList_Replace(m_hImageList, nImage, (HBITMAP)pbmImage->GetSafeHandle(), (HBITMAP)pbmMask->GetSafeHandle()); }
  446. _AFXCMN_INLINE int CImageList::Add(HICON hIcon)
  447.     { ASSERT(m_hImageList != NULL); return ImageList_AddIcon(m_hImageList, hIcon); }
  448. _AFXCMN_INLINE int CImageList::Replace(int nImage, HICON hIcon)
  449.     { ASSERT(m_hImageList != NULL); return ImageList_ReplaceIcon(m_hImageList, nImage, hIcon); }
  450. _AFXCMN_INLINE HICON CImageList::ExtractIcon(int nImage)
  451.     { ASSERT(m_hImageList != NULL); return ImageList_ExtractIcon(NULL, m_hImageList, nImage); }
  452. _AFXCMN_INLINE BOOL CImageList::Draw(CDC* pDC, int nImage, POINT pt, UINT nStyle)
  453.     { ASSERT(m_hImageList != NULL); ASSERT(pDC != NULL); return ImageList_Draw(m_hImageList, nImage, pDC->GetSafeHdc(), pt.x, pt.y, nStyle); }
  454. _AFXCMN_INLINE COLORREF CImageList::SetBkColor(COLORREF cr)
  455.     { ASSERT(m_hImageList != NULL); return ImageList_SetBkColor(m_hImageList, cr); }
  456. _AFXCMN_INLINE COLORREF CImageList::GetBkColor() const
  457.     { ASSERT(m_hImageList != NULL); return ImageList_GetBkColor(m_hImageList); }
  458. _AFXCMN_INLINE BOOL CImageList::SetOverlayImage(int nImage, int nOverlay)
  459.     { ASSERT(m_hImageList != NULL); return ImageList_SetOverlayImage(m_hImageList, nImage, nOverlay); }
  460. _AFXCMN_INLINE BOOL CImageList::GetImageInfo(int nImage, IMAGEINFO* pImageInfo) const
  461.     { ASSERT(m_hImageList != NULL); return ImageList_GetImageInfo(m_hImageList, nImage, pImageInfo); }
  462. _AFXCMN_INLINE BOOL CImageList::BeginDrag(int nImage, CPoint ptHotSpot)
  463.     { ASSERT(m_hImageList != NULL); return ImageList_BeginDrag(m_hImageList, nImage, ptHotSpot.x, ptHotSpot.y); }
  464. _AFXCMN_INLINE void PASCAL CImageList::EndDrag()
  465.     { ImageList_EndDrag(); }
  466. _AFXCMN_INLINE BOOL PASCAL CImageList::DragMove(CPoint pt)
  467.     { return ImageList_DragMove(pt.x, pt.y); }
  468. _AFXCMN_INLINE BOOL CImageList::SetDragCursorImage(int nDrag, CPoint ptHotSpot)
  469.     { ASSERT(m_hImageList != NULL); return ImageList_SetDragCursorImage(m_hImageList, nDrag, ptHotSpot.x, ptHotSpot.y); }
  470. _AFXCMN_INLINE BOOL PASCAL CImageList::DragShowNolock(BOOL bShow)
  471.     {return ImageList_DragShowNolock(bShow);}
  472. _AFXCMN_INLINE CImageList* PASCAL CImageList::GetDragImage(LPPOINT lpPoint, LPPOINT lpPointHotSpot)
  473.     {return CImageList::FromHandle(ImageList_GetDragImage(lpPoint, lpPointHotSpot));}
  474. _AFXCMN_INLINE BOOL PASCAL CImageList::DragEnter(CWnd* pWndLock, CPoint point)
  475.     { return ImageList_DragEnter(pWndLock->GetSafeHwnd(), point.x, point.y); }
  476. _AFXCMN_INLINE BOOL PASCAL CImageList::DragLeave(CWnd* pWndLock)
  477.     { return ImageList_DragLeave(pWndLock->GetSafeHwnd()); }
  478.  
  479. /////////////////////////////////////////////////////////////////////////////
  480.  
  481. _AFXCMN_INLINE CTabCtrl::CTabCtrl()
  482.     { }
  483. _AFXCMN_INLINE CImageList* CTabCtrl::GetImageList() const
  484.     { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST)::SendMessage(m_hWnd, TCM_GETIMAGELIST, 0, 0L)); }
  485. _AFXCMN_INLINE CImageList* CTabCtrl::SetImageList(CImageList* pImageList)
  486.     { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST)::SendMessage(m_hWnd, TCM_SETIMAGELIST, 0, (LPARAM)pImageList->GetSafeHandle())); }
  487. _AFXCMN_INLINE int CTabCtrl::GetItemCount() const
  488.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, TCM_GETITEMCOUNT, 0, 0L); }
  489. _AFXCMN_INLINE BOOL CTabCtrl::GetItem(int nItem, TC_ITEM* pTabCtrlItem) const
  490.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TCM_GETITEM, nItem, (LPARAM)pTabCtrlItem); }
  491. _AFXCMN_INLINE BOOL CTabCtrl::SetItem(int nItem, TC_ITEM* pTabCtrlItem)
  492.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TCM_SETITEM, nItem, (LPARAM)pTabCtrlItem); }
  493. _AFXCMN_INLINE BOOL CTabCtrl::InsertItem(int nItem, TC_ITEM* pTabCtrlItem)
  494.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TCM_INSERTITEM, nItem, (LPARAM)pTabCtrlItem); }
  495. _AFXCMN_INLINE BOOL CTabCtrl::DeleteItem(int nItem)
  496.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TCM_DELETEITEM, nItem, 0L); }
  497. _AFXCMN_INLINE BOOL CTabCtrl::DeleteAllItems()
  498.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TCM_DELETEALLITEMS, 0, 0L); }
  499. _AFXCMN_INLINE BOOL CTabCtrl::GetItemRect(int nItem, LPRECT lpRect) const
  500.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TCM_GETITEMRECT, nItem, (LPARAM)lpRect); }
  501. _AFXCMN_INLINE int CTabCtrl::GetCurSel() const
  502.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, TCM_GETCURSEL, 0, 0L); }
  503. _AFXCMN_INLINE int CTabCtrl::SetCurSel(int nItem)
  504.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, TCM_SETCURSEL, nItem, 0L); }
  505. _AFXCMN_INLINE int CTabCtrl::HitTest(TC_HITTESTINFO* pHitTestInfo) const
  506.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, TCM_HITTEST, 0, (LPARAM) pHitTestInfo); }
  507. _AFXCMN_INLINE void CTabCtrl::AdjustRect(BOOL bLarger, LPRECT lpRect)
  508.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TCM_ADJUSTRECT, bLarger, (LPARAM)lpRect); }
  509. _AFXCMN_INLINE CSize CTabCtrl::SetItemSize(CSize size)
  510.     { ASSERT(::IsWindow(m_hWnd)); return (CSize)::SendMessage(m_hWnd, TCM_SETITEMSIZE, 0, MAKELPARAM(size.cx,size.cy)); }
  511. _AFXCMN_INLINE void CTabCtrl::RemoveImage(int nImage)
  512.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TCM_REMOVEIMAGE, nImage, 0L); }
  513. _AFXCMN_INLINE void CTabCtrl::SetPadding(CSize size)
  514.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TCM_SETPADDING, 0, MAKELPARAM(size.cx, size.cy)); }
  515. _AFXCMN_INLINE int CTabCtrl::GetRowCount() const
  516.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, TCM_GETROWCOUNT, 0, 0L); }
  517. _AFXCMN_INLINE CToolTipCtrl* CTabCtrl::GetTooltips() const
  518.     { ASSERT(::IsWindow(m_hWnd)); return (CToolTipCtrl*)CWnd::FromHandle((HWND)::SendMessage(m_hWnd, TCM_GETTOOLTIPS, 0, 0L)); }
  519. _AFXCMN_INLINE void CTabCtrl::SetTooltips(CToolTipCtrl* pWndTip)
  520.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TCM_SETTOOLTIPS, (WPARAM)pWndTip->m_hWnd, 0L); }
  521. _AFXCMN_INLINE int CTabCtrl::GetCurFocus() const
  522.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, TCM_GETCURFOCUS, 0, 0L); }
  523.  
  524. /////////////////////////////////////////////////////////////////////////////
  525.  
  526. _AFXCMN_INLINE CAnimateCtrl::CAnimateCtrl()
  527.     { }
  528. _AFXCMN_INLINE BOOL CAnimateCtrl::Open(LPCTSTR lpszName)
  529.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, ACM_OPEN, 0, (LPARAM)lpszName); }
  530. _AFXCMN_INLINE BOOL CAnimateCtrl::Open(UINT nID)
  531.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, ACM_OPEN, 0, nID); }
  532. _AFXCMN_INLINE BOOL CAnimateCtrl::Play(UINT nFrom, UINT nTo, UINT nRep)
  533.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, ACM_PLAY, nRep, MAKELPARAM(nFrom, nTo)); }
  534. _AFXCMN_INLINE BOOL CAnimateCtrl::Stop()
  535.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, ACM_STOP, 0, 0L); }
  536. _AFXCMN_INLINE BOOL CAnimateCtrl::Close()
  537.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, ACM_OPEN, 0, 0L); }
  538. _AFXCMN_INLINE BOOL CAnimateCtrl::Seek(UINT nTo)
  539.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, ACM_PLAY, 0, MAKELPARAM(nTo, nTo)); }
  540.  
  541. /////////////////////////////////////////////////////////////////////////////
  542.  
  543. #ifndef _AFX_NO_RICHEDIT_SUPPORT
  544. _AFXCMN_INLINE CRichEditCtrl::CRichEditCtrl()
  545.     { }
  546. _AFXCMN_INLINE BOOL CRichEditCtrl::CanUndo() const
  547.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_CANUNDO, 0, 0); }
  548. _AFXCMN_INLINE int CRichEditCtrl::GetLineCount() const
  549.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, EM_GETLINECOUNT, 0, 0); }
  550. _AFXCMN_INLINE BOOL CRichEditCtrl::GetModify() const
  551.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_GETMODIFY, 0, 0); }
  552. _AFXCMN_INLINE void CRichEditCtrl::SetModify(BOOL bModified /* = TRUE */)
  553.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETMODIFY, bModified, 0);}
  554. _AFXCMN_INLINE void CRichEditCtrl::GetRect(LPRECT lpRect) const
  555.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_GETRECT, 0, (LPARAM)lpRect); }
  556. _AFXCMN_INLINE CPoint CRichEditCtrl::GetCharPos(long lChar) const
  557.     { ASSERT(::IsWindow(m_hWnd)); CPoint pt; ::SendMessage(m_hWnd, EM_POSFROMCHAR, (WPARAM)&pt, (LPARAM)lChar); return pt;}
  558. _AFXCMN_INLINE void CRichEditCtrl::SetOptions(WORD wOp, DWORD dwFlags)
  559.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETOPTIONS, (WPARAM)wOp, (LPARAM)dwFlags); }
  560. _AFXCMN_INLINE void CRichEditCtrl::EmptyUndoBuffer()
  561.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_EMPTYUNDOBUFFER, 0, 0); }
  562. _AFXCMN_INLINE void CRichEditCtrl::ReplaceSel(LPCTSTR lpszNewText)
  563.     {ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_REPLACESEL, 0, (LPARAM)lpszNewText); }
  564. _AFXCMN_INLINE void CRichEditCtrl::SetRect(LPCRECT lpRect)
  565.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETRECT, 0, (LPARAM)lpRect); }
  566. _AFXCMN_INLINE BOOL CRichEditCtrl::Undo()
  567.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_UNDO, 0, 0); }
  568. _AFXCMN_INLINE void CRichEditCtrl::Clear()
  569.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_CLEAR, 0, 0); }
  570. _AFXCMN_INLINE void CRichEditCtrl::Copy()
  571.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_COPY, 0, 0); }
  572. _AFXCMN_INLINE void CRichEditCtrl::Cut()
  573.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_CUT, 0, 0); }
  574. _AFXCMN_INLINE void CRichEditCtrl::Paste()
  575.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_PASTE, 0, 0); }
  576. _AFXCMN_INLINE BOOL CRichEditCtrl::SetReadOnly(BOOL bReadOnly /* = TRUE */ )
  577.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_SETREADONLY, bReadOnly, 0L); }
  578. _AFXCMN_INLINE int CRichEditCtrl::GetFirstVisibleLine() const
  579.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, EM_GETFIRSTVISIBLELINE, 0, 0L); }
  580. _AFXCMN_INLINE BOOL CRichEditCtrl::DisplayBand(LPRECT pDisplayRect)
  581.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_DISPLAYBAND, 0, (LPARAM)pDisplayRect); }
  582. _AFXCMN_INLINE void CRichEditCtrl::GetSel(CHARRANGE &cr) const
  583.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_EXGETSEL, 0, (LPARAM)&cr); }
  584.  
  585. _AFXCMN_INLINE void CRichEditCtrl::LimitText(long nChars)
  586.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_EXLIMITTEXT, 0, nChars); }
  587.  
  588. _AFXCMN_INLINE long CRichEditCtrl::LineFromChar(long nIndex) const
  589.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_EXLINEFROMCHAR, 0, nIndex); }
  590.  
  591. _AFXCMN_INLINE void CRichEditCtrl::SetSel(CHARRANGE &cr)
  592.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_EXSETSEL, 0, (LPARAM)&cr); }
  593.  
  594. _AFXCMN_INLINE long CRichEditCtrl::FindText(DWORD dwFlags, FINDTEXTEX* pFindText) const
  595.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_FINDTEXTEX, dwFlags, (LPARAM)pFindText); }
  596.  
  597. _AFXCMN_INLINE long CRichEditCtrl::FormatRange(FORMATRANGE* pfr, BOOL bDisplay)
  598.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_FORMATRANGE, (WPARAM)bDisplay, (LPARAM)pfr); }
  599.  
  600. _AFXCMN_INLINE long CRichEditCtrl::GetEventMask() const
  601.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_GETEVENTMASK, 0, 0L); }
  602.  
  603. _AFXCMN_INLINE long CRichEditCtrl::GetLimitText() const
  604.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_GETLIMITTEXT, 0, 0L); }
  605.  
  606. _AFXCMN_INLINE long CRichEditCtrl::GetSelText(LPSTR lpBuf) const
  607.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_GETSELTEXT, 0, (LPARAM)lpBuf); }
  608.  
  609. _AFXCMN_INLINE void CRichEditCtrl::HideSelection(BOOL bHide, BOOL bPerm)
  610.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_HIDESELECTION, bHide, bPerm); }
  611.  
  612. _AFXCMN_INLINE void CRichEditCtrl::RequestResize()
  613.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_REQUESTRESIZE, 0, 0L); }
  614.  
  615. _AFXCMN_INLINE WORD CRichEditCtrl::GetSelectionType() const
  616.     { ASSERT(::IsWindow(m_hWnd)); return (WORD)::SendMessage(m_hWnd, EM_SELECTIONTYPE, 0, 0L); }
  617.  
  618. _AFXCMN_INLINE COLORREF CRichEditCtrl::SetBackgroundColor(BOOL bSysColor, COLORREF cr)
  619.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF)::SendMessage(m_hWnd, EM_SETBKGNDCOLOR, bSysColor, cr); }
  620.  
  621. _AFXCMN_INLINE DWORD CRichEditCtrl::SetEventMask(DWORD dwEventMask)
  622.     { ASSERT(::IsWindow(m_hWnd)); return (DWORD)::SendMessage(m_hWnd, EM_SETEVENTMASK, 0, dwEventMask); }
  623.  
  624. _AFXCMN_INLINE BOOL CRichEditCtrl::SetOLECallback(IRichEditOleCallback* pCallback)
  625.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_SETOLECALLBACK, 0, (LPARAM)pCallback); }
  626.  
  627. _AFXCMN_INLINE BOOL CRichEditCtrl::SetTargetDevice(HDC hDC, long lLineWidth)
  628.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_SETTARGETDEVICE, (WPARAM)hDC, lLineWidth); }
  629.  
  630. _AFXCMN_INLINE BOOL CRichEditCtrl::SetTargetDevice(CDC &dc, long lLineWidth)
  631.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_SETTARGETDEVICE, (WPARAM)dc.m_hDC, lLineWidth); }
  632.  
  633. _AFXCMN_INLINE long CRichEditCtrl::StreamIn(int nFormat, EDITSTREAM &es)
  634.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_STREAMIN, nFormat, (LPARAM)&es); }
  635.  
  636. _AFXCMN_INLINE long CRichEditCtrl::StreamOut(int nFormat, EDITSTREAM &es)
  637.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_STREAMOUT, nFormat, (LPARAM)&es); }
  638.  
  639. _AFXCMN_INLINE long CRichEditCtrl::GetTextLength() const
  640.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, WM_GETTEXTLENGTH, NULL, NULL); }
  641.  
  642. #endif //!_AFX_NO_RICHEDIT_SUPPORT
  643. /////////////////////////////////////////////////////////////////////////////
  644.  
  645. #endif //_AFXCMN_INLINE
  646.  
  647. /////////////////////////////////////////////////////////////////////////////
  648.