home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / mfc / include / afxcmn.inl < prev    next >
Text File  |  1998-06-16  |  52KB  |  704 lines

  1. // This is a part of the Microsoft Foundation Classes C++ library.
  2. // Copyright (C) 1992-1998 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->GetSafeHwnd(), 0L); }
  79. _AFXCMN_INLINE void CToolBarCtrl::SetOwner(CWnd* pWnd)
  80.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TB_SETPARENT, (WPARAM)pWnd->GetSafeHwnd(), 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. _AFXCMN_INLINE int CToolBarCtrl::HitTest(LPPOINT ppt) const
  90.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TB_HITTEST, 0, (LPARAM)ppt); }
  91. _AFXCMN_INLINE DWORD CToolBarCtrl::GetExtendedStyle() const
  92.     { ASSERT(::IsWindow(m_hWnd)); return (DWORD) ::SendMessage(m_hWnd, TB_GETEXTENDEDSTYLE, 0, 0L); }
  93. _AFXCMN_INLINE DWORD CToolBarCtrl::SetExtendedStyle(DWORD dwExStyle)
  94.     { ASSERT(::IsWindow(m_hWnd)); return (DWORD) ::SendMessage(m_hWnd, TB_SETEXTENDEDSTYLE, 0, dwExStyle); }
  95. _AFXCMN_INLINE COLORREF CToolBarCtrl::GetInsertMarkColor() const
  96.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, TB_GETINSERTMARKCOLOR, 0, 0); }
  97. _AFXCMN_INLINE COLORREF CToolBarCtrl::SetInsertMarkColor(COLORREF clrNew)
  98.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, TB_SETINSERTMARKCOLOR, 0, (LPARAM) clrNew); }
  99.  
  100. /////////////////////////////////////////////////////////////////////////////
  101.  
  102. _AFXCMN_INLINE CStatusBarCtrl::CStatusBarCtrl()
  103.     { }
  104. _AFXCMN_INLINE BOOL CStatusBarCtrl::SetText(LPCTSTR lpszText, int nPane, int nType)
  105.     { ASSERT(::IsWindow(m_hWnd)); ASSERT(nPane < 256); return (BOOL) ::SendMessage(m_hWnd, SB_SETTEXT, (nPane|nType), (LPARAM)lpszText); }
  106. _AFXCMN_INLINE BOOL CStatusBarCtrl::SetParts(int nParts, int* pWidths)
  107.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, SB_SETPARTS, nParts, (LPARAM)pWidths); }
  108. _AFXCMN_INLINE int CStatusBarCtrl::GetParts(int nParts, int* pParts) const
  109.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, SB_GETPARTS, nParts, (LPARAM)pParts); }
  110. _AFXCMN_INLINE BOOL CStatusBarCtrl::GetBorders(int* pBorders) const
  111.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, SB_GETBORDERS, 0, (LPARAM)pBorders); }
  112. _AFXCMN_INLINE void CStatusBarCtrl::SetMinHeight(int nMin)
  113.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, SB_SETMINHEIGHT, nMin, 0L); }
  114. _AFXCMN_INLINE BOOL CStatusBarCtrl::SetSimple(BOOL bSimple)
  115.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, SB_SIMPLE, bSimple, 0L); }
  116. _AFXCMN_INLINE BOOL CStatusBarCtrl::GetRect(int nPane, LPRECT lpRect) const
  117.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, SB_GETRECT, nPane, (LPARAM)lpRect); }
  118.  
  119. /////////////////////////////////////////////////////////////////////////////
  120.  
  121. _AFXCMN_INLINE CListCtrl::CListCtrl()
  122.     { }
  123. _AFXCMN_INLINE COLORREF CListCtrl::GetBkColor() const
  124.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, LVM_GETBKCOLOR, 0, 0L); }
  125. _AFXCMN_INLINE BOOL CListCtrl::SetBkColor(COLORREF cr)
  126.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETBKCOLOR, 0, cr); }
  127. _AFXCMN_INLINE CImageList* CListCtrl::GetImageList(int nImageListType) const
  128.     { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST) ::SendMessage(m_hWnd, LVM_GETIMAGELIST, nImageListType, 0L)); }
  129. _AFXCMN_INLINE CImageList* CListCtrl::SetImageList(CImageList* pImageList, int nImageList)
  130.     { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST) ::SendMessage(m_hWnd, LVM_SETIMAGELIST, nImageList, (LPARAM)pImageList->GetSafeHandle())); }
  131. _AFXCMN_INLINE int CListCtrl::GetItemCount() const
  132.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_GETITEMCOUNT, 0, 0L); }
  133. _AFXCMN_INLINE BOOL CListCtrl::GetItem(LVITEM* pItem) const
  134.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_GETITEM, 0, (LPARAM)pItem); }
  135. _AFXCMN_INLINE BOOL CListCtrl::SetItem(const LVITEM* pItem)
  136.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETITEM, 0, (LPARAM)pItem); }
  137. _AFXCMN_INLINE BOOL CListCtrl::SetItemData(int nItem, DWORD dwData)
  138.     { ASSERT(::IsWindow(m_hWnd)); return SetItem(nItem, 0, LVIF_PARAM, NULL, 0, 0, 0, (LPARAM)dwData); }
  139. _AFXCMN_INLINE int CListCtrl::InsertItem(const LVITEM* pItem)
  140.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_INSERTITEM, 0, (LPARAM)pItem); }
  141. _AFXCMN_INLINE int CListCtrl::InsertItem(int nItem, LPCTSTR lpszItem)
  142.     { ASSERT(::IsWindow(m_hWnd)); return InsertItem(LVIF_TEXT, nItem, lpszItem, 0, 0, 0, 0); }
  143. _AFXCMN_INLINE int CListCtrl::InsertItem(int nItem, LPCTSTR lpszItem, int nImage)
  144.     { ASSERT(::IsWindow(m_hWnd)); return InsertItem(LVIF_TEXT|LVIF_IMAGE, nItem, lpszItem, 0, 0, nImage, 0); }
  145. _AFXCMN_INLINE BOOL CListCtrl::DeleteItem(int nItem)
  146.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_DELETEITEM, nItem, 0L); }
  147. _AFXCMN_INLINE BOOL CListCtrl::DeleteAllItems()
  148.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_DELETEALLITEMS, 0, 0L); }
  149. _AFXCMN_INLINE UINT CListCtrl::GetCallbackMask() const
  150.     { ASSERT(::IsWindow(m_hWnd)); return (UINT) ::SendMessage(m_hWnd, LVM_GETCALLBACKMASK, 0, 0); }
  151. _AFXCMN_INLINE BOOL CListCtrl::SetCallbackMask(UINT nMask)
  152.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETCALLBACKMASK, nMask, 0); }
  153. _AFXCMN_INLINE int CListCtrl::GetNextItem(int nItem, int nFlags) const
  154.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_GETNEXTITEM, nItem, MAKELPARAM(nFlags, 0)); }
  155. _AFXCMN_INLINE POSITION CListCtrl::GetFirstSelectedItemPosition() const
  156.     { ASSERT(::IsWindow(m_hWnd)); return (POSITION) (1+GetNextItem(-1, LVIS_SELECTED)); }
  157. _AFXCMN_INLINE int CListCtrl::GetNextSelectedItem(POSITION& pos) const
  158.     { ASSERT(::IsWindow(m_hWnd)); int nOldPos = (int)pos-1; pos = (POSITION) (1+GetNextItem(nOldPos, LVIS_SELECTED)); return nOldPos; }
  159. _AFXCMN_INLINE int CListCtrl::FindItem(LVFINDINFO* pFindInfo, int nStart) const
  160.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_FINDITEM, nStart, (LPARAM)pFindInfo); }
  161. _AFXCMN_INLINE int CListCtrl::HitTest(LVHITTESTINFO* pHitTestInfo) const
  162.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_HITTEST, 0, (LPARAM)pHitTestInfo); }
  163. _AFXCMN_INLINE BOOL CListCtrl::SetItemPosition(int nItem, POINT pt)
  164.     { ASSERT(::IsWindow(m_hWnd)); ASSERT((GetStyle() & LVS_OWNERDATA)==0); return (BOOL) ::SendMessage(m_hWnd, LVM_SETITEMPOSITION32, nItem, (LPARAM)&pt); }
  165. _AFXCMN_INLINE BOOL CListCtrl::GetItemPosition(int nItem, LPPOINT lpPoint) const
  166.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_GETITEMPOSITION, nItem, (LPARAM)lpPoint); }
  167. _AFXCMN_INLINE int CListCtrl::GetStringWidth(LPCTSTR lpsz) const
  168.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_GETSTRINGWIDTH, 0, (LPARAM)lpsz); }
  169. _AFXCMN_INLINE BOOL CListCtrl::EnsureVisible(int nItem, BOOL bPartialOK)
  170.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_ENSUREVISIBLE, nItem, MAKELPARAM(bPartialOK, 0)); }
  171. _AFXCMN_INLINE BOOL CListCtrl::Scroll(CSize size)
  172.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SCROLL, size.cx, size.cy); }
  173. _AFXCMN_INLINE BOOL CListCtrl::RedrawItems(int nFirst, int nLast)
  174.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_REDRAWITEMS, nFirst, nLast); }
  175. _AFXCMN_INLINE BOOL CListCtrl::Arrange(UINT nCode)
  176.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_ARRANGE, nCode, 0L); }
  177. _AFXCMN_INLINE CEdit* CListCtrl::EditLabel(int nItem)
  178.     { ASSERT(::IsWindow(m_hWnd)); return (CEdit*)CWnd::FromHandle( (HWND)::SendMessage(m_hWnd, LVM_EDITLABEL, nItem, 0L)); }
  179. _AFXCMN_INLINE CEdit* CListCtrl::GetEditControl() const
  180.     { ASSERT(::IsWindow(m_hWnd)); return (CEdit*)CWnd::FromHandle( (HWND)::SendMessage(m_hWnd, LVM_GETEDITCONTROL, 0, 0L)); }
  181. _AFXCMN_INLINE BOOL CListCtrl::GetColumn(int nCol, LVCOLUMN* pColumn) const
  182.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_GETCOLUMN, nCol, (LPARAM)pColumn); }
  183. _AFXCMN_INLINE BOOL CListCtrl::SetColumn(int nCol, const LVCOLUMN* pColumn)
  184.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETCOLUMN, nCol, (LPARAM)pColumn); }
  185. _AFXCMN_INLINE int CListCtrl::InsertColumn(int nCol, const LVCOLUMN* pColumn)
  186.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_INSERTCOLUMN, nCol, (LPARAM)pColumn); }
  187. _AFXCMN_INLINE BOOL CListCtrl::DeleteColumn(int nCol)
  188.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_DELETECOLUMN, nCol, 0); }
  189. _AFXCMN_INLINE int CListCtrl::GetColumnWidth(int nCol) const
  190.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_GETCOLUMNWIDTH, nCol, 0); }
  191. _AFXCMN_INLINE BOOL CListCtrl::SetColumnWidth(int nCol, int cx)
  192.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETCOLUMNWIDTH, nCol, MAKELPARAM(cx, 0)); }
  193. _AFXCMN_INLINE BOOL CListCtrl::GetViewRect(LPRECT lpRect) const
  194.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_GETVIEWRECT, 0, (LPARAM)lpRect); }
  195. _AFXCMN_INLINE COLORREF CListCtrl::GetTextColor() const
  196.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, LVM_GETTEXTCOLOR, 0, 0L); }
  197. _AFXCMN_INLINE BOOL CListCtrl::SetTextColor(COLORREF cr)
  198.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETTEXTCOLOR, 0, cr); }
  199. _AFXCMN_INLINE COLORREF CListCtrl::GetTextBkColor() const
  200.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, LVM_GETTEXTBKCOLOR, 0, 0L); }
  201. _AFXCMN_INLINE BOOL CListCtrl::SetTextBkColor(COLORREF cr)
  202.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETTEXTBKCOLOR, 0, cr); }
  203. _AFXCMN_INLINE int CListCtrl::GetTopIndex() const
  204.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_GETTOPINDEX, 0, 0); }
  205. _AFXCMN_INLINE int CListCtrl::GetCountPerPage() const
  206.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, LVM_GETCOUNTPERPAGE, 0, 0); }
  207. _AFXCMN_INLINE BOOL CListCtrl::GetOrigin(LPPOINT lpPoint) const
  208.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_GETORIGIN, 0, (LPARAM)lpPoint); }
  209. _AFXCMN_INLINE BOOL CListCtrl::Update(int nItem)
  210.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_UPDATE, nItem, 0L); }
  211. _AFXCMN_INLINE BOOL CListCtrl::SetItemState(int nItem, LVITEM* pItem)
  212.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, LVM_SETITEMSTATE, nItem, (LPARAM)pItem); }
  213. _AFXCMN_INLINE UINT CListCtrl::GetItemState(int nItem, UINT nMask) const
  214.     { ASSERT(::IsWindow(m_hWnd)); return (UINT) ::SendMessage(m_hWnd, LVM_GETITEMSTATE, nItem, nMask); }
  215. _AFXCMN_INLINE void CListCtrl::SetItemCount(int nItems)
  216.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, LVM_SETITEMCOUNT, nItems, 0); }
  217. _AFXCMN_INLINE BOOL CListCtrl::SortItems(PFNLVCOMPARE pfnCompare, DWORD dwData)
  218.     { ASSERT(::IsWindow(m_hWnd)); ASSERT((GetStyle() & LVS_OWNERDATA)==0); return (BOOL) ::SendMessage(m_hWnd, LVM_SORTITEMS, dwData, (LPARAM)pfnCompare); }
  219. _AFXCMN_INLINE UINT CListCtrl::GetSelectedCount() const
  220.     { ASSERT(::IsWindow(m_hWnd)); return (UINT) ::SendMessage(m_hWnd, LVM_GETSELECTEDCOUNT, 0, 0L); }
  221.  
  222. /////////////////////////////////////////////////////////////////////////////
  223.  
  224. _AFXCMN_INLINE CTreeCtrl::CTreeCtrl()
  225.     { }
  226. _AFXCMN_INLINE HTREEITEM CTreeCtrl::InsertItem(LPTVINSERTSTRUCT lpInsertStruct)
  227.     { ASSERT(::IsWindow(m_hWnd));  return (HTREEITEM)::SendMessage(m_hWnd, TVM_INSERTITEM, 0, (LPARAM)lpInsertStruct); }
  228. _AFXCMN_INLINE HTREEITEM CTreeCtrl::InsertItem(LPCTSTR lpszItem, int nImage,
  229.     int nSelectedImage, HTREEITEM hParent, HTREEITEM hInsertAfter)
  230.     { ASSERT(::IsWindow(m_hWnd)); return InsertItem(TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE, lpszItem, nImage, nSelectedImage, 0, 0, 0, hParent, hInsertAfter); }
  231. _AFXCMN_INLINE HTREEITEM CTreeCtrl::InsertItem(LPCTSTR lpszItem, HTREEITEM hParent, HTREEITEM hInsertAfter)
  232.     { ASSERT(::IsWindow(m_hWnd)); return InsertItem(TVIF_TEXT, lpszItem, 0, 0, 0, 0, 0, hParent, hInsertAfter); }
  233. _AFXCMN_INLINE BOOL CTreeCtrl::DeleteItem(HTREEITEM hItem)
  234.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_DELETEITEM, 0, (LPARAM)hItem); }
  235. #pragma warning(disable: 4310)
  236. _AFXCMN_INLINE BOOL CTreeCtrl::DeleteAllItems()
  237.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_DELETEITEM, 0, (LPARAM)TVI_ROOT); }
  238. #pragma warning(default: 4310)
  239. _AFXCMN_INLINE BOOL CTreeCtrl::Expand(HTREEITEM hItem, UINT nCode)
  240.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_EXPAND, nCode, (LPARAM)hItem); }
  241. _AFXCMN_INLINE UINT CTreeCtrl::GetCount() const
  242.     { ASSERT(::IsWindow(m_hWnd)); return (UINT)::SendMessage(m_hWnd, TVM_GETCOUNT, 0, 0); }
  243. _AFXCMN_INLINE UINT CTreeCtrl::GetIndent() const
  244.     { ASSERT(::IsWindow(m_hWnd)); return (UINT)::SendMessage(m_hWnd, TVM_GETINDENT, 0, 0); }
  245. _AFXCMN_INLINE void CTreeCtrl::SetIndent(UINT nIndent)
  246.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TVM_SETINDENT, nIndent, 0); }
  247. _AFXCMN_INLINE CImageList* CTreeCtrl::GetImageList(UINT nImageList) const
  248.     { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST)::SendMessage(m_hWnd, TVM_GETIMAGELIST, (UINT)nImageList, 0)); }
  249. _AFXCMN_INLINE CImageList* CTreeCtrl::SetImageList(CImageList* pImageList, int nImageListType)
  250.     { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST)::SendMessage(m_hWnd, TVM_SETIMAGELIST, (UINT)nImageListType, (LPARAM)pImageList->GetSafeHandle())); }
  251. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetNextItem(HTREEITEM hItem, UINT nCode) const
  252.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, nCode, (LPARAM)hItem); }
  253. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetChildItem(HTREEITEM hItem) const
  254.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_CHILD, (LPARAM)hItem); }
  255. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetNextSiblingItem(HTREEITEM hItem) const
  256.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_NEXT, (LPARAM)hItem); }
  257. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetPrevSiblingItem(HTREEITEM hItem) const
  258.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_PREVIOUS, (LPARAM)hItem); }
  259. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetParentItem(HTREEITEM hItem) const
  260.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_PARENT, (LPARAM)hItem); }
  261. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetFirstVisibleItem() const
  262.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_FIRSTVISIBLE, 0); }
  263. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetNextVisibleItem(HTREEITEM hItem) const
  264.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_NEXTVISIBLE, (LPARAM)hItem); }
  265. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetPrevVisibleItem(HTREEITEM hItem) const
  266.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_PREVIOUSVISIBLE, (LPARAM)hItem); }
  267. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetSelectedItem() const
  268.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_CARET, 0); }
  269. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetDropHilightItem() const
  270.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_DROPHILITE, 0); }
  271. _AFXCMN_INLINE HTREEITEM CTreeCtrl::GetRootItem() const
  272.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_GETNEXTITEM, TVGN_ROOT, 0); }
  273. _AFXCMN_INLINE BOOL CTreeCtrl::Select(HTREEITEM hItem, UINT nCode)
  274.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_SELECTITEM, nCode, (LPARAM)hItem); }
  275. _AFXCMN_INLINE BOOL CTreeCtrl::SelectItem(HTREEITEM hItem)
  276.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TVM_SELECTITEM, TVGN_CARET, (LPARAM)hItem); }
  277. _AFXCMN_INLINE BOOL CTreeCtrl::SelectDropTarget(HTREEITEM hItem)
  278.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TVM_SELECTITEM, TVGN_DROPHILITE, (LPARAM)hItem); }
  279. _AFXCMN_INLINE BOOL CTreeCtrl::SelectSetFirstVisible(HTREEITEM hItem)
  280.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TVM_SELECTITEM, TVGN_FIRSTVISIBLE, (LPARAM)hItem); }
  281. _AFXCMN_INLINE BOOL CTreeCtrl::GetItem(TVITEM* pItem) const
  282.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_GETITEM, 0, (LPARAM)pItem); }
  283. _AFXCMN_INLINE BOOL CTreeCtrl::SetItem(TVITEM* pItem)
  284.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_SETITEM, 0, (LPARAM)pItem); }
  285. _AFXCMN_INLINE BOOL CTreeCtrl::SetItemText(HTREEITEM hItem, LPCTSTR lpszItem)
  286.     { ASSERT(::IsWindow(m_hWnd)); return SetItem(hItem, TVIF_TEXT, lpszItem, 0, 0, 0, 0, NULL); }
  287. _AFXCMN_INLINE BOOL CTreeCtrl::SetItemImage(HTREEITEM hItem, int nImage, int nSelectedImage)
  288.     { ASSERT(::IsWindow(m_hWnd)); return SetItem(hItem, TVIF_IMAGE|TVIF_SELECTEDIMAGE, NULL, nImage, nSelectedImage, 0, 0, NULL); }
  289. _AFXCMN_INLINE BOOL CTreeCtrl::SetItemState(HTREEITEM hItem, UINT nState, UINT nStateMask)
  290.     { ASSERT(::IsWindow(m_hWnd)); return SetItem(hItem, TVIF_STATE, NULL, 0, 0, nState, nStateMask, NULL); }
  291. _AFXCMN_INLINE BOOL CTreeCtrl::SetItemData(HTREEITEM hItem, DWORD dwData)
  292.     { ASSERT(::IsWindow(m_hWnd)); return SetItem(hItem, TVIF_PARAM, NULL, 0, 0, 0, 0, (LPARAM)dwData); }
  293. _AFXCMN_INLINE CEdit* CTreeCtrl::EditLabel(HTREEITEM hItem)
  294.     { ASSERT(::IsWindow(m_hWnd)); return (CEdit*)CWnd::FromHandle((HWND)::SendMessage(m_hWnd, TVM_EDITLABEL, 0, (LPARAM)hItem)); }
  295. _AFXCMN_INLINE HTREEITEM CTreeCtrl::HitTest(TVHITTESTINFO* pHitTestInfo) const
  296.     { ASSERT(::IsWindow(m_hWnd)); return (HTREEITEM)::SendMessage(m_hWnd, TVM_HITTEST, 0, (LPARAM)pHitTestInfo); }
  297. _AFXCMN_INLINE CEdit* CTreeCtrl::GetEditControl() const
  298.     { ASSERT(::IsWindow(m_hWnd)); return (CEdit*)CWnd::FromHandle((HWND)::SendMessage(m_hWnd, TVM_GETEDITCONTROL, 0, 0)); }
  299. _AFXCMN_INLINE UINT CTreeCtrl::GetVisibleCount() const
  300.     { ASSERT(::IsWindow(m_hWnd)); return (UINT)::SendMessage(m_hWnd, TVM_GETVISIBLECOUNT, 0, 0); }
  301. _AFXCMN_INLINE BOOL CTreeCtrl::SortChildren(HTREEITEM hItem)
  302.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_SORTCHILDREN, 0, (LPARAM)hItem); }
  303. _AFXCMN_INLINE BOOL CTreeCtrl::EnsureVisible(HTREEITEM hItem)
  304.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_ENSUREVISIBLE, 0, (LPARAM)hItem); }
  305. _AFXCMN_INLINE BOOL CTreeCtrl::SortChildrenCB(LPTVSORTCB pSort)
  306.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TVM_SORTCHILDRENCB, 0, (LPARAM)pSort); }
  307. _AFXCMN_INLINE CToolTipCtrl* CTreeCtrl::GetToolTips() const
  308.     { ASSERT(::IsWindow(m_hWnd)); return (CToolTipCtrl*)CWnd::FromHandle((HWND)::SendMessage(m_hWnd, TVM_GETTOOLTIPS, 0, 0L)); }
  309. _AFXCMN_INLINE CToolTipCtrl* CTreeCtrl::SetToolTips(CToolTipCtrl* pWndTip)
  310.     { ASSERT(::IsWindow(m_hWnd)); return (CToolTipCtrl*)CWnd::FromHandle((HWND)::SendMessage(m_hWnd, TVM_SETTOOLTIPS, (WPARAM)pWndTip->GetSafeHwnd(), 0L)); }
  311. _AFXCMN_INLINE COLORREF CTreeCtrl::GetBkColor() const
  312.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, TVM_GETBKCOLOR, 0, 0L); }
  313. _AFXCMN_INLINE COLORREF CTreeCtrl::SetBkColor(COLORREF clr)
  314.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, TVM_SETBKCOLOR, 0, (LPARAM)clr); }
  315. _AFXCMN_INLINE SHORT CTreeCtrl::GetItemHeight() const
  316.     { ASSERT(::IsWindow(m_hWnd)); return (SHORT) ::SendMessage(m_hWnd, TVM_GETITEMHEIGHT, 0, 0L); }
  317. _AFXCMN_INLINE SHORT CTreeCtrl::SetItemHeight(SHORT cyHeight)
  318.     { ASSERT(::IsWindow(m_hWnd)); return (SHORT) ::SendMessage(m_hWnd, TVM_SETITEMHEIGHT, cyHeight, 0L); }
  319. _AFXCMN_INLINE COLORREF CTreeCtrl::GetTextColor() const
  320.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, TVM_GETTEXTCOLOR, 0, 0L); }
  321. _AFXCMN_INLINE COLORREF CTreeCtrl::SetTextColor(COLORREF clr)
  322.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, TVM_SETTEXTCOLOR, 0, (LPARAM)clr); }
  323. _AFXCMN_INLINE BOOL CTreeCtrl::SetInsertMark(HTREEITEM hItem, BOOL fAfter)
  324.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, TVM_SETINSERTMARK, fAfter, (LPARAM)hItem); }
  325. _AFXCMN_INLINE COLORREF CTreeCtrl::GetInsertMarkColor() const
  326.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, TVM_GETINSERTMARKCOLOR, 0, 0L); }
  327. _AFXCMN_INLINE COLORREF CTreeCtrl::SetInsertMarkColor(COLORREF clrNew)
  328.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF) ::SendMessage(m_hWnd, TVM_SETINSERTMARKCOLOR, 0, (LPARAM)clrNew); }
  329.  
  330. /////////////////////////////////////////////////////////////////////////////
  331.  
  332. _AFXCMN_INLINE CHotKeyCtrl::CHotKeyCtrl()
  333.     { }
  334. _AFXCMN_INLINE void CHotKeyCtrl::SetHotKey(WORD wVirtualKeyCode, WORD wModifiers)
  335.     { ASSERT(::IsWindow(m_hWnd));  ::SendMessage(m_hWnd, HKM_SETHOTKEY, MAKEWORD(wVirtualKeyCode, wModifiers), 0L); }
  336. _AFXCMN_INLINE DWORD CHotKeyCtrl::GetHotKey() const
  337.     { ASSERT(::IsWindow(m_hWnd)); return ::SendMessage(m_hWnd, HKM_GETHOTKEY, 0, 0L); }
  338. _AFXCMN_INLINE void CHotKeyCtrl::SetRules(WORD wInvalidComb, WORD wModifiers)
  339.     { ASSERT(::IsWindow(m_hWnd));  ::SendMessage(m_hWnd, HKM_SETRULES, wInvalidComb, MAKELPARAM(wModifiers, 0)); }
  340.  
  341. /////////////////////////////////////////////////////////////////////////////
  342.  
  343. _AFXCMN_INLINE void CToolTipCtrl::Activate(BOOL bActivate)
  344.     { ASSERT(::IsWindow(m_hWnd));  ::SendMessage(m_hWnd, TTM_ACTIVATE, bActivate, 0L); }
  345. _AFXCMN_INLINE void CToolTipCtrl::SetToolInfo(LPTOOLINFO lpToolInfo)
  346.     { ASSERT(::IsWindow(m_hWnd));  ::SendMessage(m_hWnd, TTM_SETTOOLINFO, 0, (LPARAM)lpToolInfo); }
  347. _AFXCMN_INLINE void CToolTipCtrl::RelayEvent(LPMSG lpMsg)
  348.     { ASSERT(::IsWindow(m_hWnd));  ::SendMessage(m_hWnd, TTM_RELAYEVENT, 0, (LPARAM)lpMsg); }
  349. _AFXCMN_INLINE int CToolTipCtrl::GetToolCount() const
  350.     { ASSERT(::IsWindow(m_hWnd));  return (int) ::SendMessage(m_hWnd, TTM_GETTOOLCOUNT, 0, 0L); }
  351.  
  352. /////////////////////////////////////////////////////////////////////////////
  353.  
  354. _AFXCMN_INLINE CSpinButtonCtrl::CSpinButtonCtrl()
  355.     { }
  356. _AFXCMN_INLINE UINT CSpinButtonCtrl::GetAccel(int nAccel, UDACCEL* pAccel) const
  357.     { ASSERT(::IsWindow(m_hWnd)); return (UINT) LOWORD(::SendMessage(m_hWnd, UDM_GETACCEL, nAccel, (LPARAM)pAccel)); }
  358. _AFXCMN_INLINE UINT CSpinButtonCtrl::GetBase() const
  359.     { ASSERT(::IsWindow(m_hWnd)); return (UINT) LOWORD(::SendMessage(m_hWnd, UDM_GETBASE, 0, 0l)); }
  360. _AFXCMN_INLINE CWnd* CSpinButtonCtrl::GetBuddy() const
  361.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle((HWND) ::SendMessage(m_hWnd, UDM_GETBUDDY, 0, 0l)); }
  362. _AFXCMN_INLINE int CSpinButtonCtrl::GetPos() const
  363.     { ASSERT(::IsWindow(m_hWnd)); return (int) (::SendMessage(m_hWnd, UDM_GETPOS, 0, 0l)); }
  364. _AFXCMN_INLINE DWORD CSpinButtonCtrl::GetRange() const
  365.     { ASSERT(::IsWindow(m_hWnd)); return (DWORD) ::SendMessage(m_hWnd, UDM_GETRANGE, 0, 0l); }
  366. _AFXCMN_INLINE BOOL CSpinButtonCtrl::SetAccel(int nAccel, UDACCEL* pAccel)
  367.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL) LOWORD(::SendMessage(m_hWnd, UDM_SETACCEL, nAccel, (LPARAM)pAccel)); }
  368. _AFXCMN_INLINE int CSpinButtonCtrl::SetBase(int nBase)
  369.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, UDM_SETBASE, nBase, 0L); }
  370. _AFXCMN_INLINE CWnd* CSpinButtonCtrl::SetBuddy(CWnd* pWndBuddy)
  371.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle((HWND) ::SendMessage(m_hWnd, UDM_SETBUDDY, (WPARAM)pWndBuddy->GetSafeHwnd(), 0L)); }
  372. _AFXCMN_INLINE int CSpinButtonCtrl::SetPos(int nPos)
  373.     { ASSERT(::IsWindow(m_hWnd)); return (int) (short) LOWORD(::SendMessage(m_hWnd, UDM_SETPOS, 0, MAKELPARAM(nPos, 0))); }
  374. _AFXCMN_INLINE void CSpinButtonCtrl::SetRange(int nLower, int nUpper)
  375.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, UDM_SETRANGE, 0, MAKELPARAM(nUpper, nLower)); }
  376.  
  377. /////////////////////////////////////////////////////////////////////////////
  378.  
  379. _AFXCMN_INLINE CSliderCtrl::CSliderCtrl()
  380.     { }
  381. _AFXCMN_INLINE int CSliderCtrl::GetLineSize() const
  382.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_GETLINESIZE, 0, 0l); }
  383. _AFXCMN_INLINE int CSliderCtrl::SetLineSize(int nSize)
  384.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_SETLINESIZE, 0, nSize); }
  385. _AFXCMN_INLINE int CSliderCtrl::GetPageSize() const
  386.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_GETPAGESIZE, 0, 0l); }
  387. _AFXCMN_INLINE int CSliderCtrl::SetPageSize(int nSize)
  388.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_SETPAGESIZE, 0, nSize); }
  389. _AFXCMN_INLINE int CSliderCtrl::GetRangeMax() const
  390.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_GETRANGEMAX, 0, 0l); }
  391. _AFXCMN_INLINE int CSliderCtrl::GetRangeMin() const
  392.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_GETRANGEMIN, 0, 0l); }
  393. _AFXCMN_INLINE void CSliderCtrl::SetRangeMin(int nMin, BOOL bRedraw)
  394.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_SETRANGEMIN, bRedraw, nMin); }
  395. _AFXCMN_INLINE void CSliderCtrl::SetRangeMax(int nMax, BOOL bRedraw)
  396.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_SETRANGEMAX, bRedraw, nMax); }
  397. _AFXCMN_INLINE void CSliderCtrl::ClearSel(BOOL bRedraw)
  398.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_CLEARSEL, bRedraw, 0l); }
  399. _AFXCMN_INLINE void CSliderCtrl::GetChannelRect(LPRECT lprc) const
  400.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_GETCHANNELRECT, 0, (LPARAM)lprc); }
  401. _AFXCMN_INLINE void CSliderCtrl::GetThumbRect(LPRECT lprc) const
  402.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_GETTHUMBRECT, 0, (LPARAM)lprc); }
  403. _AFXCMN_INLINE int CSliderCtrl::GetPos() const
  404.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_GETPOS, 0, 0l); }
  405. _AFXCMN_INLINE void CSliderCtrl::SetPos(int nPos)
  406.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_SETPOS, TRUE, nPos); }
  407. _AFXCMN_INLINE void CSliderCtrl::VerifyPos()
  408.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_SETPOS, FALSE, 0L); }
  409. _AFXCMN_INLINE void CSliderCtrl::ClearTics(BOOL bRedraw)
  410.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_CLEARTICS, bRedraw, 0l); }
  411. _AFXCMN_INLINE UINT CSliderCtrl::GetNumTics() const
  412.     { ASSERT(::IsWindow(m_hWnd)); return (UINT) ::SendMessage(m_hWnd, TBM_GETNUMTICS, 0, 0l); }
  413. _AFXCMN_INLINE DWORD* CSliderCtrl::GetTicArray() const
  414.     { ASSERT(::IsWindow(m_hWnd)); return (DWORD*) ::SendMessage(m_hWnd, TBM_GETPTICS, 0, 0l); }
  415. _AFXCMN_INLINE int CSliderCtrl::GetTic(int nTic) const
  416.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_GETTIC, nTic, 0L); }
  417. _AFXCMN_INLINE int CSliderCtrl::GetTicPos(int nTic) const
  418.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, TBM_GETTICPOS, nTic, 0L); }
  419. _AFXCMN_INLINE BOOL CSliderCtrl::SetTic(int nTic)
  420.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TBM_SETTIC, 0, nTic); }
  421. _AFXCMN_INLINE void CSliderCtrl::SetTicFreq(int nFreq)
  422.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_SETTICFREQ, nFreq, 0L); }
  423. _AFXCMN_INLINE CWnd* CSliderCtrl::GetBuddy(BOOL fLocation) const
  424.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle((HWND) ::SendMessage(m_hWnd, TBM_GETBUDDY, fLocation, 0l)); }
  425. _AFXCMN_INLINE CWnd* CSliderCtrl::SetBuddy(CWnd* pWndBuddy, BOOL fLocation)
  426.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle((HWND) ::SendMessage(m_hWnd, TBM_SETBUDDY, fLocation, (LPARAM)pWndBuddy->GetSafeHwnd())); }
  427. _AFXCMN_INLINE CToolTipCtrl* CSliderCtrl::GetToolTips() const
  428.     { ASSERT(::IsWindow(m_hWnd)); return (CToolTipCtrl*)CWnd::FromHandle((HWND)::SendMessage(m_hWnd, TBM_GETTOOLTIPS, 0, 0L)); }
  429. _AFXCMN_INLINE void CSliderCtrl::SetToolTips(CToolTipCtrl* pTip)
  430.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TBM_SETTOOLTIPS, (WPARAM)pTip->GetSafeHwnd(), 0L); }
  431. _AFXCMN_INLINE int CSliderCtrl::SetTipSide(int nLocation)
  432.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, TBM_SETTIPSIDE, nLocation, 0L); }
  433.  
  434. /////////////////////////////////////////////////////////////////////////////
  435.  
  436. _AFXCMN_INLINE CProgressCtrl::CProgressCtrl()
  437.     { }
  438. _AFXCMN_INLINE void CProgressCtrl::SetRange(short nLower, short nUpper)
  439.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, PBM_SETRANGE, 0, MAKELPARAM(nLower, nUpper)); }
  440. _AFXCMN_INLINE void CProgressCtrl::SetRange32(int nLower, int nUpper)
  441.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, PBM_SETRANGE32, (WPARAM) nLower, (LPARAM) nUpper); }
  442. _AFXCMN_INLINE int CProgressCtrl::GetPos()
  443.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, PBM_GETPOS, 0, 0); }
  444. _AFXCMN_INLINE int CProgressCtrl::OffsetPos(int nPos)
  445.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, PBM_DELTAPOS, nPos, 0L); }
  446. _AFXCMN_INLINE int CProgressCtrl::SetStep(int nStep)
  447.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, PBM_SETSTEP, nStep, 0L); }
  448. _AFXCMN_INLINE int CProgressCtrl::StepIt()
  449.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, PBM_STEPIT, 0, 0L); }
  450.  
  451. /////////////////////////////////////////////////////////////////////////////
  452.  
  453. _AFXCMN_INLINE CHeaderCtrl::CHeaderCtrl()
  454.     { }
  455. _AFXCMN_INLINE int CHeaderCtrl::GetItemCount() const
  456.     { ASSERT(::IsWindow(m_hWnd)); return (int) ::SendMessage(m_hWnd, HDM_GETITEMCOUNT, 0, 0L); }
  457. _AFXCMN_INLINE int CHeaderCtrl::InsertItem(int nPos, HDITEM* phdi)
  458.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, HDM_INSERTITEM, nPos, (LPARAM)phdi); }
  459. _AFXCMN_INLINE BOOL CHeaderCtrl::DeleteItem(int nPos)
  460.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, HDM_DELETEITEM, nPos, 0L); }
  461. _AFXCMN_INLINE BOOL CHeaderCtrl::GetItem(int nPos, HDITEM* pHeaderItem) const
  462.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, HDM_GETITEM, nPos, (LPARAM)pHeaderItem); }
  463. _AFXCMN_INLINE BOOL CHeaderCtrl::SetItem(int nPos, HDITEM* pHeaderItem)
  464.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, HDM_SETITEM, nPos, (LPARAM)pHeaderItem); }
  465. _AFXCMN_INLINE BOOL CHeaderCtrl::Layout(HDLAYOUT* pHeaderLayout)
  466.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, HDM_LAYOUT, 0, (LPARAM)pHeaderLayout); }
  467.  
  468. /////////////////////////////////////////////////////////////////////////////
  469.  
  470. _AFXCMN_INLINE CImageList::operator HIMAGELIST() const
  471.     { return m_hImageList;}
  472. _AFXCMN_INLINE HIMAGELIST CImageList::GetSafeHandle() const
  473.     { return (this == NULL) ? NULL : m_hImageList; }
  474. _AFXCMN_INLINE int CImageList::GetImageCount() const
  475.     { ASSERT(m_hImageList != NULL); return ImageList_GetImageCount(m_hImageList); }
  476. _AFXCMN_INLINE int CImageList::Add(CBitmap* pbmImage, CBitmap* pbmMask)
  477.     { ASSERT(m_hImageList != NULL); return ImageList_Add(m_hImageList, (HBITMAP)pbmImage->GetSafeHandle(), (HBITMAP)pbmMask->GetSafeHandle()); }
  478. _AFXCMN_INLINE int CImageList::Add(CBitmap* pbmImage, COLORREF crMask)
  479.     { ASSERT(m_hImageList != NULL); return ImageList_AddMasked(m_hImageList, (HBITMAP)pbmImage->GetSafeHandle(), crMask); }
  480. _AFXCMN_INLINE BOOL CImageList::Remove(int nImage)
  481.     { ASSERT(m_hImageList != NULL); return ImageList_Remove(m_hImageList, nImage); }
  482. _AFXCMN_INLINE BOOL CImageList::Replace(int nImage, CBitmap* pbmImage, CBitmap* pbmMask)
  483.     { ASSERT(m_hImageList != NULL); return ImageList_Replace(m_hImageList, nImage, (HBITMAP)pbmImage->GetSafeHandle(), (HBITMAP)pbmMask->GetSafeHandle()); }
  484. _AFXCMN_INLINE int CImageList::Add(HICON hIcon)
  485.     { ASSERT(m_hImageList != NULL); return ImageList_AddIcon(m_hImageList, hIcon); }
  486. _AFXCMN_INLINE int CImageList::Replace(int nImage, HICON hIcon)
  487.     { ASSERT(m_hImageList != NULL); return ImageList_ReplaceIcon(m_hImageList, nImage, hIcon); }
  488. _AFXCMN_INLINE HICON CImageList::ExtractIcon(int nImage)
  489.     { ASSERT(m_hImageList != NULL); return ImageList_ExtractIcon(NULL, m_hImageList, nImage); }
  490. _AFXCMN_INLINE BOOL CImageList::Draw(CDC* pDC, int nImage, POINT pt, UINT nStyle)
  491.     { ASSERT(m_hImageList != NULL); ASSERT(pDC != NULL); return ImageList_Draw(m_hImageList, nImage, pDC->GetSafeHdc(), pt.x, pt.y, nStyle); }
  492. _AFXCMN_INLINE COLORREF CImageList::SetBkColor(COLORREF cr)
  493.     { ASSERT(m_hImageList != NULL); return ImageList_SetBkColor(m_hImageList, cr); }
  494. _AFXCMN_INLINE COLORREF CImageList::GetBkColor() const
  495.     { ASSERT(m_hImageList != NULL); return ImageList_GetBkColor(m_hImageList); }
  496. _AFXCMN_INLINE BOOL CImageList::SetOverlayImage(int nImage, int nOverlay)
  497.     { ASSERT(m_hImageList != NULL); return ImageList_SetOverlayImage(m_hImageList, nImage, nOverlay); }
  498. _AFXCMN_INLINE BOOL CImageList::GetImageInfo(int nImage, IMAGEINFO* pImageInfo) const
  499.     { ASSERT(m_hImageList != NULL); return ImageList_GetImageInfo(m_hImageList, nImage, pImageInfo); }
  500. _AFXCMN_INLINE BOOL CImageList::BeginDrag(int nImage, CPoint ptHotSpot)
  501.     { ASSERT(m_hImageList != NULL); return ImageList_BeginDrag(m_hImageList, nImage, ptHotSpot.x, ptHotSpot.y); }
  502. _AFXCMN_INLINE void PASCAL CImageList::EndDrag()
  503.     { ImageList_EndDrag(); }
  504. _AFXCMN_INLINE BOOL PASCAL CImageList::DragMove(CPoint pt)
  505.     { return ImageList_DragMove(pt.x, pt.y); }
  506. _AFXCMN_INLINE BOOL CImageList::SetDragCursorImage(int nDrag, CPoint ptHotSpot)
  507.     { ASSERT(m_hImageList != NULL); return ImageList_SetDragCursorImage(m_hImageList, nDrag, ptHotSpot.x, ptHotSpot.y); }
  508. _AFXCMN_INLINE BOOL PASCAL CImageList::DragShowNolock(BOOL bShow)
  509.     {return ImageList_DragShowNolock(bShow);}
  510. _AFXCMN_INLINE CImageList* PASCAL CImageList::GetDragImage(LPPOINT lpPoint, LPPOINT lpPointHotSpot)
  511.     {return CImageList::FromHandle(ImageList_GetDragImage(lpPoint, lpPointHotSpot));}
  512. _AFXCMN_INLINE BOOL PASCAL CImageList::DragEnter(CWnd* pWndLock, CPoint point)
  513.     { return ImageList_DragEnter(pWndLock->GetSafeHwnd(), point.x, point.y); }
  514. _AFXCMN_INLINE BOOL PASCAL CImageList::DragLeave(CWnd* pWndLock)
  515.     { return ImageList_DragLeave(pWndLock->GetSafeHwnd()); }
  516.  
  517. /////////////////////////////////////////////////////////////////////////////
  518.  
  519. _AFXCMN_INLINE CTabCtrl::CTabCtrl()
  520.     { }
  521. _AFXCMN_INLINE CImageList* CTabCtrl::GetImageList() const
  522.     { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST)::SendMessage(m_hWnd, TCM_GETIMAGELIST, 0, 0L)); }
  523. _AFXCMN_INLINE CImageList* CTabCtrl::SetImageList(CImageList* pImageList)
  524.     { ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST)::SendMessage(m_hWnd, TCM_SETIMAGELIST, 0, (LPARAM)pImageList->GetSafeHandle())); }
  525. _AFXCMN_INLINE int CTabCtrl::GetItemCount() const
  526.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, TCM_GETITEMCOUNT, 0, 0L); }
  527. _AFXCMN_INLINE BOOL CTabCtrl::GetItem(int nItem, TCITEM* pTabCtrlItem) const
  528.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TCM_GETITEM, nItem, (LPARAM)pTabCtrlItem); }
  529. _AFXCMN_INLINE BOOL CTabCtrl::SetItem(int nItem, TCITEM* pTabCtrlItem)
  530.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TCM_SETITEM, nItem, (LPARAM)pTabCtrlItem); }
  531. _AFXCMN_INLINE BOOL CTabCtrl::SetItemExtra(int nBytes)
  532.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TCM_SETITEMEXTRA, (WPARAM) nBytes, 0); }
  533. _AFXCMN_INLINE void CTabCtrl::SetCurFocus(int nItem)
  534.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TCM_SETCURFOCUS, (WPARAM) nItem, 0); }
  535. _AFXCMN_INLINE BOOL CTabCtrl::InsertItem(int nItem, TCITEM* pTabCtrlItem)
  536.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TCM_INSERTITEM, nItem, (LPARAM)pTabCtrlItem); }
  537. _AFXCMN_INLINE BOOL CTabCtrl::InsertItem(int nItem, LPCTSTR lpszItem)
  538.     { ASSERT(::IsWindow(m_hWnd)); return CTabCtrl::InsertItem(TCIF_TEXT, nItem, lpszItem, 0, 0); }
  539. _AFXCMN_INLINE BOOL CTabCtrl::InsertItem(int nItem, LPCTSTR lpszItem, int nImage)
  540.     { ASSERT(::IsWindow(m_hWnd)); return CTabCtrl::InsertItem(TCIF_TEXT|TCIF_IMAGE, nItem, lpszItem, nImage, 0); }
  541. _AFXCMN_INLINE BOOL CTabCtrl::DeleteItem(int nItem)
  542.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TCM_DELETEITEM, nItem, 0L); }
  543. _AFXCMN_INLINE BOOL CTabCtrl::DeleteAllItems()
  544.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TCM_DELETEALLITEMS, 0, 0L); }
  545. _AFXCMN_INLINE BOOL CTabCtrl::GetItemRect(int nItem, LPRECT lpRect) const
  546.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TCM_GETITEMRECT, nItem, (LPARAM)lpRect); }
  547. _AFXCMN_INLINE int CTabCtrl::GetCurSel() const
  548.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, TCM_GETCURSEL, 0, 0L); }
  549. _AFXCMN_INLINE int CTabCtrl::SetCurSel(int nItem)
  550.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, TCM_SETCURSEL, nItem, 0L); }
  551. _AFXCMN_INLINE int CTabCtrl::HitTest(TCHITTESTINFO* pHitTestInfo) const
  552.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, TCM_HITTEST, 0, (LPARAM) pHitTestInfo); }
  553. _AFXCMN_INLINE void CTabCtrl::AdjustRect(BOOL bLarger, LPRECT lpRect)
  554.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TCM_ADJUSTRECT, bLarger, (LPARAM)lpRect); }
  555. _AFXCMN_INLINE CSize CTabCtrl::SetItemSize(CSize size)
  556.     { ASSERT(::IsWindow(m_hWnd)); return (CSize)::SendMessage(m_hWnd, TCM_SETITEMSIZE, 0, MAKELPARAM(size.cx,size.cy)); }
  557. _AFXCMN_INLINE void CTabCtrl::RemoveImage(int nImage)
  558.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TCM_REMOVEIMAGE, nImage, 0L); }
  559. _AFXCMN_INLINE void CTabCtrl::SetPadding(CSize size)
  560.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TCM_SETPADDING, 0, MAKELPARAM(size.cx, size.cy)); }
  561. _AFXCMN_INLINE int CTabCtrl::GetRowCount() const
  562.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, TCM_GETROWCOUNT, 0, 0L); }
  563. _AFXCMN_INLINE CToolTipCtrl* CTabCtrl::GetToolTips() const
  564.     { ASSERT(::IsWindow(m_hWnd)); return (CToolTipCtrl*)CWnd::FromHandle((HWND)::SendMessage(m_hWnd, TCM_GETTOOLTIPS, 0, 0L)); }
  565. _AFXCMN_INLINE void CTabCtrl::SetToolTips(CToolTipCtrl* pWndTip)
  566.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TCM_SETTOOLTIPS, (WPARAM)pWndTip->GetSafeHwnd(), 0L); }
  567. _AFXCMN_INLINE int CTabCtrl::GetCurFocus() const
  568.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, TCM_GETCURFOCUS, 0, 0L); }
  569. _AFXCMN_INLINE int CTabCtrl::SetMinTabWidth(int cx)
  570.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, TCM_SETMINTABWIDTH, 0, (LPARAM)cx); }
  571. _AFXCMN_INLINE void CTabCtrl::DeselectAll(BOOL fExcludeFocus)
  572.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, TCM_DESELECTALL, fExcludeFocus, 0); }
  573. _AFXCMN_INLINE BOOL CTabCtrl::HighlightItem(int idItem, BOOL fHighlight /*= TRUE*/)
  574.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, TCM_HIGHLIGHTITEM, idItem, MAKELPARAM(fHighlight, 0)); }
  575. _AFXCMN_INLINE DWORD CTabCtrl::GetExtendedStyle()
  576.     { ASSERT(::IsWindow(m_hWnd)); return (DWORD) ::SendMessage(m_hWnd, TCM_GETEXTENDEDSTYLE, 0, 0); }
  577. _AFXCMN_INLINE DWORD CTabCtrl::SetExtendedStyle(DWORD dwNewStyle, DWORD dwExMask /*= 0*/)
  578.     { ASSERT(::IsWindow(m_hWnd)); return (DWORD) ::SendMessage(m_hWnd, TCM_SETEXTENDEDSTYLE, dwExMask, dwNewStyle); }
  579.  
  580. /////////////////////////////////////////////////////////////////////////////
  581.  
  582. _AFXCMN_INLINE CAnimateCtrl::CAnimateCtrl()
  583.     { }
  584. _AFXCMN_INLINE BOOL CAnimateCtrl::Open(LPCTSTR lpszName)
  585.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, ACM_OPEN, 0, (LPARAM)lpszName); }
  586. _AFXCMN_INLINE BOOL CAnimateCtrl::Open(UINT nID)
  587.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, ACM_OPEN, 0, nID); }
  588. _AFXCMN_INLINE BOOL CAnimateCtrl::Play(UINT nFrom, UINT nTo, UINT nRep)
  589.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, ACM_PLAY, nRep, MAKELPARAM(nFrom, nTo)); }
  590. _AFXCMN_INLINE BOOL CAnimateCtrl::Stop()
  591.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, ACM_STOP, 0, 0L); }
  592. _AFXCMN_INLINE BOOL CAnimateCtrl::Close()
  593.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, ACM_OPEN, 0, 0L); }
  594. _AFXCMN_INLINE BOOL CAnimateCtrl::Seek(UINT nTo)
  595.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, ACM_PLAY, 0, MAKELPARAM(nTo, nTo)); }
  596.  
  597. /////////////////////////////////////////////////////////////////////////////
  598.  
  599. #ifndef _AFX_NO_RICHEDIT_SUPPORT
  600. _AFXCMN_INLINE CRichEditCtrl::CRichEditCtrl()
  601.     { }
  602. _AFXCMN_INLINE BOOL CRichEditCtrl::CanUndo() const
  603.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_CANUNDO, 0, 0); }
  604. _AFXCMN_INLINE int CRichEditCtrl::GetLineCount() const
  605.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, EM_GETLINECOUNT, 0, 0); }
  606. _AFXCMN_INLINE BOOL CRichEditCtrl::GetModify() const
  607.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_GETMODIFY, 0, 0); }
  608. _AFXCMN_INLINE void CRichEditCtrl::SetModify(BOOL bModified /* = TRUE */)
  609.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETMODIFY, bModified, 0);}
  610. _AFXCMN_INLINE void CRichEditCtrl::GetRect(LPRECT lpRect) const
  611.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_GETRECT, 0, (LPARAM)lpRect); }
  612. _AFXCMN_INLINE CPoint CRichEditCtrl::GetCharPos(long lChar) const
  613.     { ASSERT(::IsWindow(m_hWnd)); CPoint pt; ::SendMessage(m_hWnd, EM_POSFROMCHAR, (WPARAM)&pt, (LPARAM)lChar); return pt;}
  614. _AFXCMN_INLINE void CRichEditCtrl::SetOptions(WORD wOp, DWORD dwFlags)
  615.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETOPTIONS, (WPARAM)wOp, (LPARAM)dwFlags); }
  616. _AFXCMN_INLINE void CRichEditCtrl::EmptyUndoBuffer()
  617.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_EMPTYUNDOBUFFER, 0, 0); }
  618. _AFXCMN_INLINE void CRichEditCtrl::ReplaceSel(LPCTSTR lpszNewText, BOOL bCanUndo)
  619.     {ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_REPLACESEL, (WPARAM) bCanUndo, (LPARAM)lpszNewText); }
  620. _AFXCMN_INLINE void CRichEditCtrl::SetRect(LPCRECT lpRect)
  621.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETRECT, 0, (LPARAM)lpRect); }
  622. _AFXCMN_INLINE BOOL CRichEditCtrl::Undo()
  623.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_UNDO, 0, 0); }
  624. _AFXCMN_INLINE void CRichEditCtrl::Clear()
  625.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_CLEAR, 0, 0); }
  626. _AFXCMN_INLINE void CRichEditCtrl::Copy()
  627.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_COPY, 0, 0); }
  628. _AFXCMN_INLINE void CRichEditCtrl::Cut()
  629.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_CUT, 0, 0); }
  630. _AFXCMN_INLINE void CRichEditCtrl::Paste()
  631.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_PASTE, 0, 0); }
  632. _AFXCMN_INLINE BOOL CRichEditCtrl::SetReadOnly(BOOL bReadOnly /* = TRUE */ )
  633.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_SETREADONLY, bReadOnly, 0L); }
  634. _AFXCMN_INLINE int CRichEditCtrl::GetFirstVisibleLine() const
  635.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, EM_GETFIRSTVISIBLELINE, 0, 0L); }
  636. _AFXCMN_INLINE BOOL CRichEditCtrl::DisplayBand(LPRECT pDisplayRect)
  637.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_DISPLAYBAND, 0, (LPARAM)pDisplayRect); }
  638. _AFXCMN_INLINE void CRichEditCtrl::GetSel(CHARRANGE &cr) const
  639.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_EXGETSEL, 0, (LPARAM)&cr); }
  640.  
  641. _AFXCMN_INLINE void CRichEditCtrl::LimitText(long nChars)
  642.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_EXLIMITTEXT, 0, nChars); }
  643.  
  644. _AFXCMN_INLINE long CRichEditCtrl::LineFromChar(long nIndex) const
  645.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_EXLINEFROMCHAR, 0, nIndex); }
  646.  
  647. _AFXCMN_INLINE void CRichEditCtrl::SetSel(CHARRANGE &cr)
  648.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_EXSETSEL, 0, (LPARAM)&cr); }
  649.  
  650. _AFXCMN_INLINE long CRichEditCtrl::FindText(DWORD dwFlags, FINDTEXTEX* pFindText) const
  651.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_FINDTEXTEX, dwFlags, (LPARAM)pFindText); }
  652.  
  653. _AFXCMN_INLINE long CRichEditCtrl::FormatRange(FORMATRANGE* pfr, BOOL bDisplay)
  654.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_FORMATRANGE, (WPARAM)bDisplay, (LPARAM)pfr); }
  655.  
  656. _AFXCMN_INLINE long CRichEditCtrl::GetEventMask() const
  657.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_GETEVENTMASK, 0, 0L); }
  658.  
  659. _AFXCMN_INLINE long CRichEditCtrl::GetLimitText() const
  660.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_GETLIMITTEXT, 0, 0L); }
  661.  
  662. _AFXCMN_INLINE long CRichEditCtrl::GetSelText(LPSTR lpBuf) const
  663.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_GETSELTEXT, 0, (LPARAM)lpBuf); }
  664.  
  665. _AFXCMN_INLINE void CRichEditCtrl::HideSelection(BOOL bHide, BOOL bPerm)
  666.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_HIDESELECTION, bHide, bPerm); }
  667.  
  668. _AFXCMN_INLINE void CRichEditCtrl::RequestResize()
  669.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_REQUESTRESIZE, 0, 0L); }
  670.  
  671. _AFXCMN_INLINE WORD CRichEditCtrl::GetSelectionType() const
  672.     { ASSERT(::IsWindow(m_hWnd)); return (WORD)::SendMessage(m_hWnd, EM_SELECTIONTYPE, 0, 0L); }
  673.  
  674. _AFXCMN_INLINE COLORREF CRichEditCtrl::SetBackgroundColor(BOOL bSysColor, COLORREF cr)
  675.     { ASSERT(::IsWindow(m_hWnd)); return (COLORREF)::SendMessage(m_hWnd, EM_SETBKGNDCOLOR, bSysColor, cr); }
  676.  
  677. _AFXCMN_INLINE DWORD CRichEditCtrl::SetEventMask(DWORD dwEventMask)
  678.     { ASSERT(::IsWindow(m_hWnd)); return (DWORD)::SendMessage(m_hWnd, EM_SETEVENTMASK, 0, dwEventMask); }
  679.  
  680. _AFXCMN_INLINE BOOL CRichEditCtrl::SetOLECallback(IRichEditOleCallback* pCallback)
  681.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_SETOLECALLBACK, 0, (LPARAM)pCallback); }
  682.  
  683. _AFXCMN_INLINE BOOL CRichEditCtrl::SetTargetDevice(HDC hDC, long lLineWidth)
  684.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_SETTARGETDEVICE, (WPARAM)hDC, lLineWidth); }
  685.  
  686. _AFXCMN_INLINE BOOL CRichEditCtrl::SetTargetDevice(CDC &dc, long lLineWidth)
  687.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_SETTARGETDEVICE, (WPARAM)dc.m_hDC, lLineWidth); }
  688.  
  689. _AFXCMN_INLINE long CRichEditCtrl::StreamIn(int nFormat, EDITSTREAM &es)
  690.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_STREAMIN, nFormat, (LPARAM)&es); }
  691.  
  692. _AFXCMN_INLINE long CRichEditCtrl::StreamOut(int nFormat, EDITSTREAM &es)
  693.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, EM_STREAMOUT, nFormat, (LPARAM)&es); }
  694.  
  695. _AFXCMN_INLINE long CRichEditCtrl::GetTextLength() const
  696.     { ASSERT(::IsWindow(m_hWnd)); return (long)::SendMessage(m_hWnd, WM_GETTEXTLENGTH, NULL, NULL); }
  697.  
  698. #endif //!_AFX_NO_RICHEDIT_SUPPORT
  699. /////////////////////////////////////////////////////////////////////////////
  700.  
  701. #endif //_AFXCMN_INLINE
  702.  
  703. /////////////////////////////////////////////////////////////////////////////
  704.