home *** CD-ROM | disk | FTP | other *** search
/ Team Palmtops 7 / Palmtops_numero07.iso / WinCE / SDKWindowsCE / HandHeldPCPro30 / sdk.exe / Jupiter SDK / data1.cab / MFC / include / afxwin2.inl < prev    next >
Encoding:
Text File  |  1999-02-19  |  59.7 KB  |  1,030 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 AFXWIN.H (part 2)
  12.  
  13. #ifdef _AFXWIN_INLINE
  14.  
  15. // CWnd
  16. _AFXWIN_INLINE CWnd::operator HWND() const
  17.     { return this == NULL ? NULL : m_hWnd; }
  18. _AFXWIN_INLINE BOOL CWnd::operator==(const CWnd& wnd) const
  19.     { return ((HWND) wnd) == m_hWnd; }
  20. _AFXWIN_INLINE BOOL CWnd::operator!=(const CWnd& wnd) const
  21.     { return ((HWND) wnd) != m_hWnd; }
  22. _AFXWIN_INLINE HWND CWnd::GetSafeHwnd() const
  23.     { return this == NULL ? NULL : m_hWnd; }
  24. #ifdef _AFX_NO_OCC_SUPPORT
  25. _AFXWIN_INLINE DWORD CWnd::GetStyle() const
  26.     { ASSERT(::IsWindow(m_hWnd)); return (DWORD)GetWindowLong(m_hWnd, GWL_STYLE); }
  27. _AFXWIN_INLINE DWORD CWnd::GetExStyle() const
  28.     { ASSERT(::IsWindow(m_hWnd)); return (DWORD)GetWindowLong(m_hWnd, GWL_EXSTYLE); }
  29. _AFXWIN_INLINE BOOL CWnd::ModifyStyle(DWORD dwRemove, DWORD dwAdd, UINT nFlags)
  30.     { ASSERT(::IsWindow(m_hWnd)); return ModifyStyle(m_hWnd, dwRemove, dwAdd, nFlags); }
  31. _AFXWIN_INLINE BOOL CWnd::ModifyStyleEx(DWORD dwRemove, DWORD dwAdd, UINT nFlags)
  32.     { ASSERT(::IsWindow(m_hWnd)); return ModifyStyleEx(m_hWnd, dwRemove, dwAdd, nFlags); }
  33. #endif //_AFX_NO_OCC_SUPPORT
  34. _AFXWIN_INLINE CWnd* CWnd::GetOwner() const
  35.     { return m_hWndOwner != NULL ? CWnd::FromHandle(m_hWndOwner) : GetParent(); }
  36. _AFXWIN_INLINE void CWnd::SetOwner(CWnd* pOwnerWnd)
  37.     { m_hWndOwner = pOwnerWnd != NULL ? pOwnerWnd->m_hWnd : NULL; }
  38. _AFXWIN_INLINE LRESULT CWnd::SendMessage(UINT message, WPARAM wParam, LPARAM lParam)
  39.     { ASSERT(::IsWindow(m_hWnd)); return ::SendMessage(m_hWnd, message, wParam, lParam); }
  40. _AFXWIN_INLINE BOOL CWnd::PostMessage(UINT message, WPARAM wParam, LPARAM lParam)
  41.     { ASSERT(::IsWindow(m_hWnd)); return ::PostMessage(m_hWnd, message, wParam, lParam); }
  42. #ifdef _AFX_NO_OCC_SUPPORT
  43. _AFXWIN_INLINE void CWnd::SetWindowText(LPCTSTR lpszString)
  44.     { ASSERT(::IsWindow(m_hWnd)); ::SetWindowText(m_hWnd, lpszString); }
  45. _AFXWIN_INLINE int CWnd::GetWindowText(LPTSTR lpszString, int nMaxCount) const
  46.     { ASSERT(::IsWindow(m_hWnd)); return ::GetWindowText(m_hWnd, lpszString, nMaxCount); }
  47. _AFXWIN_INLINE int CWnd::GetWindowTextLength() const
  48.     { ASSERT(::IsWindow(m_hWnd)); return ::GetWindowTextLength(m_hWnd); }
  49. #endif //_AFX_NO_OCC_SUPPORT
  50. _AFXWIN_INLINE void CWnd::SetFont(CFont* pFont, BOOL bRedraw)
  51.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_SETFONT, (WPARAM)pFont->GetSafeHandle(), bRedraw); }
  52. _AFXWIN_INLINE CFont* CWnd::GetFont() const
  53.     { ASSERT(::IsWindow(m_hWnd)); return CFont::FromHandle(
  54.         (HFONT)::SendMessage(m_hWnd, WM_GETFONT, 0, 0)); }
  55. _AFXWIN_INLINE CMenu* CWnd::GetMenu() const
  56.     { ASSERT(::IsWindow(m_hWnd)); return CMenu::FromHandle(::WCE_FCTN(GetMenu)(m_hWnd)); }
  57. _AFXWIN_INLINE BOOL CWnd::SetMenu(CMenu* pMenu)
  58.     { ASSERT(::IsWindow(m_hWnd)); return ::WCE_FCTN(SetMenu)(m_hWnd, pMenu->GetSafeHmenu()); }
  59. WCE_DEL _AFXWIN_INLINE void CWnd::DrawMenuBar()
  60. WCE_DEL    { ASSERT(::IsWindow(m_hWnd)); ::DrawMenuBar(m_hWnd); }
  61. WCE_DEL _AFXWIN_INLINE CMenu* CWnd::GetSystemMenu(BOOL bRevert) const
  62. WCE_DEL    { ASSERT(::IsWindow(m_hWnd)); return CMenu::FromHandle(::GetSystemMenu(m_hWnd, bRevert)); }
  63. WCE_DEL _AFXWIN_INLINE BOOL CWnd::HiliteMenuItem(CMenu* pMenu, UINT nIDHiliteItem, UINT nHilite)
  64. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return ::HiliteMenuItem(m_hWnd, pMenu->m_hMenu, nIDHiliteItem, nHilite); }
  65. #ifdef _AFX_NO_OCC_SUPPORT
  66. _AFXWIN_INLINE int CWnd::GetDlgCtrlID() const
  67.     { ASSERT(::IsWindow(m_hWnd)); return ::GetDlgCtrlID(m_hWnd); }
  68. _AFXWIN_INLINE int CWnd::SetDlgCtrlID(int nID)
  69.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SetWindowLong(m_hWnd, GWL_ID, nID); }
  70. #endif //_AFX_NO_OCC_SUPPORT
  71. _AFXWIN_INLINE BOOL CWnd::IsIconic() const
  72.     { ASSERT(::IsWindow(m_hWnd)); return ::WCE_FCTN(IsIconic)(m_hWnd); }
  73. WCE_DEL _AFXWIN_INLINE BOOL CWnd::IsZoomed() const
  74. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return ::IsZoomed(m_hWnd); }
  75. #ifdef _AFX_NO_OCC_SUPPORT
  76. _AFXWIN_INLINE void CWnd::MoveWindow(int x, int y, int nWidth, int nHeight, BOOL bRepaint)
  77.     { ASSERT(::IsWindow(m_hWnd)); ::MoveWindow(m_hWnd, x, y, nWidth, nHeight, bRepaint); }
  78. #endif //_AFX_NO_OCC_SUPPORT
  79. _AFXWIN_INLINE void CWnd::MoveWindow(LPCRECT lpRect, BOOL bRepaint)
  80.     { MoveWindow(lpRect->left, lpRect->top, lpRect->right - lpRect->left,
  81.         lpRect->bottom - lpRect->top, bRepaint); }
  82. #ifdef _AFX_NO_OCC_SUPPORT
  83. _AFXWIN_INLINE BOOL CWnd::SetWindowPos(const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags)
  84.     { ASSERT(::IsWindow(m_hWnd)); return ::SetWindowPos(m_hWnd, pWndInsertAfter->GetSafeHwnd(),
  85.         x, y, cx, cy, nFlags); }
  86. #endif //_AFX_NO_OCC_SUPPORT
  87. WCE_DEL _AFXWIN_INLINE UINT CWnd::ArrangeIconicWindows()
  88. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return ::ArrangeIconicWindows(m_hWnd); }
  89. WCE_DEL _AFXWIN_INLINE int CWnd::SetWindowRgn(HRGN hRgn, BOOL bRedraw)
  90. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return ::SetWindowRgn(m_hWnd, hRgn, bRedraw); }
  91. WCE_DEL _AFXWIN_INLINE int CWnd::GetWindowRgn(HRGN hRgn) const
  92. WCE_DEL { ASSERT(::IsWindow(m_hWnd) && hRgn != NULL); return ::GetWindowRgn(m_hWnd, hRgn); }
  93. _AFXWIN_INLINE void CWnd::BringWindowToTop()
  94.     { ASSERT(::IsWindow(m_hWnd)); ::BringWindowToTop(m_hWnd); }
  95. _AFXWIN_INLINE void CWnd::GetWindowRect(LPRECT lpRect) const
  96.     { ASSERT(::IsWindow(m_hWnd)); ::GetWindowRect(m_hWnd, lpRect); }
  97. _AFXWIN_INLINE void CWnd::GetClientRect(LPRECT lpRect) const
  98.     { ASSERT(::IsWindow(m_hWnd)); ::GetClientRect(m_hWnd, lpRect); }
  99. _AFXWIN_INLINE void CWnd::MapWindowPoints(CWnd* pwndTo, LPPOINT lpPoint, UINT nCount) const
  100.     { ASSERT(::IsWindow(m_hWnd)); ::MapWindowPoints(m_hWnd, pwndTo->GetSafeHwnd(), lpPoint, nCount); }
  101. _AFXWIN_INLINE void CWnd::MapWindowPoints(CWnd* pwndTo, LPRECT lpRect) const
  102.     { ASSERT(::IsWindow(m_hWnd)); ::MapWindowPoints(m_hWnd, pwndTo->GetSafeHwnd(), (LPPOINT)lpRect, 2); }
  103. _AFXWIN_INLINE void CWnd::ClientToScreen(LPPOINT lpPoint) const
  104.     { ASSERT(::IsWindow(m_hWnd)); ::ClientToScreen(m_hWnd, lpPoint); }
  105. _AFXWIN_INLINE void CWnd::ClientToScreen(LPRECT lpRect) const
  106.     { ASSERT(::IsWindow(m_hWnd)); ::ClientToScreen(m_hWnd, (LPPOINT)lpRect);
  107.         ::ClientToScreen(m_hWnd, ((LPPOINT)lpRect)+1);
  108.         if (GetExStyle() & WS_EX_LAYOUTRTL) CRect::SwapLeftRight(lpRect); }
  109. _AFXWIN_INLINE void CWnd::ScreenToClient(LPPOINT lpPoint) const
  110.     { ASSERT(::IsWindow(m_hWnd)); ::ScreenToClient(m_hWnd, lpPoint); }
  111. _AFXWIN_INLINE void CWnd::ScreenToClient(LPRECT lpRect) const
  112.     { ASSERT(::IsWindow(m_hWnd)); ::ScreenToClient(m_hWnd, (LPPOINT)lpRect);
  113.         ::ScreenToClient(m_hWnd, ((LPPOINT)lpRect)+1); 
  114.         if (GetExStyle() & WS_EX_LAYOUTRTL) CRect::SwapLeftRight(lpRect); }
  115. _AFXWIN_INLINE CDC* CWnd::BeginPaint(LPPAINTSTRUCT lpPaint)
  116.     { ASSERT(::IsWindow(m_hWnd)); return CDC::FromHandle(::BeginPaint(m_hWnd, lpPaint)); }
  117. _AFXWIN_INLINE void CWnd::EndPaint(LPPAINTSTRUCT lpPaint)
  118.     { ASSERT(::IsWindow(m_hWnd)); ::EndPaint(m_hWnd, lpPaint); }
  119. _AFXWIN_INLINE CDC* CWnd::GetDC()
  120.     { ASSERT(::IsWindow(m_hWnd)); return CDC::FromHandle(::GetDC(m_hWnd)); }
  121. _AFXWIN_INLINE CDC* CWnd::GetWindowDC()
  122.     { ASSERT(::IsWindow(m_hWnd)); return CDC::FromHandle(::GetWindowDC(m_hWnd)); }
  123. _AFXWIN_INLINE int CWnd::ReleaseDC(CDC* pDC)
  124.     { ASSERT(::IsWindow(m_hWnd)); return ::ReleaseDC(m_hWnd, pDC->m_hDC); }
  125. _AFXWIN_INLINE void CWnd::UpdateWindow()
  126.     { ASSERT(::IsWindow(m_hWnd)); ::UpdateWindow(m_hWnd); }
  127. _AFXWIN_INLINE void CWnd::SetRedraw(BOOL bRedraw)
  128.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_SETREDRAW, bRedraw, 0); }
  129. _AFXWIN_INLINE BOOL CWnd::GetUpdateRect(LPRECT lpRect, BOOL bErase)
  130.     { ASSERT(::IsWindow(m_hWnd)); return ::GetUpdateRect(m_hWnd, lpRect, bErase); }
  131. WCE_DEL _AFXWIN_INLINE int CWnd::GetUpdateRgn(CRgn* pRgn, BOOL bErase)
  132. WCE_DEL    { ASSERT(::IsWindow(m_hWnd)); return ::GetUpdateRgn(m_hWnd, (HRGN)pRgn->GetSafeHandle(), bErase); }
  133. _AFXWIN_INLINE void CWnd::Invalidate(BOOL bErase)
  134.     { ASSERT(::IsWindow(m_hWnd)); ::InvalidateRect(m_hWnd, NULL, bErase); }
  135. _AFXWIN_INLINE void CWnd::InvalidateRect(LPCRECT lpRect, BOOL bErase)
  136.     { ASSERT(::IsWindow(m_hWnd)); ::InvalidateRect(m_hWnd, lpRect, bErase); }
  137. _AFXWIN_INLINE void CWnd::InvalidateRgn(CRgn* pRgn, BOOL bErase)
  138.     { ASSERT(::IsWindow(m_hWnd)); WCE_FCTN(InvalidateRgn)(m_hWnd, (HRGN)pRgn->GetSafeHandle(), bErase); }
  139. _AFXWIN_INLINE void CWnd::ValidateRect(LPCRECT lpRect)
  140.     { ASSERT(::IsWindow(m_hWnd)); ::ValidateRect(m_hWnd, lpRect); }
  141. WCE_DEL _AFXWIN_INLINE void CWnd::ValidateRgn(CRgn* pRgn)
  142. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); ::ValidateRgn(m_hWnd, (HRGN)pRgn->GetSafeHandle()); }
  143. #ifdef _AFX_NO_OCC_SUPPORT
  144. _AFXWIN_INLINE BOOL CWnd::ShowWindow(int nCmdShow)
  145.     { ASSERT(::IsWindow(m_hWnd)); return ::ShowWindow(m_hWnd, nCmdShow); }
  146. #endif //_AFX_NO_OCC_SUPPORT
  147. _AFXWIN_INLINE BOOL CWnd::IsWindowVisible() const
  148.     { ASSERT(::IsWindow(m_hWnd)); return ::IsWindowVisible(m_hWnd); }
  149. WCE_DEL _AFXWIN_INLINE void CWnd::ShowOwnedPopups(BOOL bShow)
  150. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); ::ShowOwnedPopups(m_hWnd, bShow); }
  151. _AFXWIN_INLINE void CWnd::SendMessageToDescendants(
  152.     UINT message, WPARAM wParam, LPARAM lParam, BOOL bDeep, BOOL bOnlyPerm)
  153.     { ASSERT(::IsWindow(m_hWnd)); CWnd::SendMessageToDescendants(m_hWnd, message, wParam, lParam, bDeep,
  154.         bOnlyPerm); }
  155. _AFXWIN_INLINE CWnd* CWnd::GetDescendantWindow(int nID, BOOL bOnlyPerm) const
  156.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::GetDescendantWindow(m_hWnd, nID, bOnlyPerm); }
  157. #ifdef _AFX_NO_OCC_SUPPORT
  158. _AFXWIN_INLINE BOOL CWnd::IsDialogMessage(LPMSG lpMsg)
  159.     { ASSERT(::IsWindow(m_hWnd)); return ::IsDialogMessage(m_hWnd, lpMsg); }
  160. #endif
  161.  
  162. WCE_DEL _AFXWIN_INLINE BOOL CWnd::LockWindowUpdate()
  163. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return ::LockWindowUpdate(m_hWnd); }
  164. WCE_DEL _AFXWIN_INLINE void CWnd::UnlockWindowUpdate()
  165. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); ::LockWindowUpdate(NULL); }
  166. _AFXWIN_INLINE BOOL CWnd::RedrawWindow(LPCRECT lpRectUpdate, CRgn* prgnUpdate,
  167.     UINT flags)
  168.     { ASSERT(::IsWindow(m_hWnd)); return ::WCE_FCTN(RedrawWindow)(m_hWnd, lpRectUpdate, (HRGN)prgnUpdate->GetSafeHandle(), flags); }
  169. WCE_DEL _AFXWIN_INLINE BOOL CWnd::EnableScrollBar(int nSBFlags, UINT nArrowFlags)
  170. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::EnableScrollBar(m_hWnd, nSBFlags, nArrowFlags); }
  171. _AFXWIN_INLINE UINT CWnd::SetTimer(UINT nIDEvent, UINT nElapse,
  172.         void (CALLBACK* lpfnTimer)(HWND, UINT, UINT, DWORD))
  173.     { ASSERT(::IsWindow(m_hWnd)); return ::SetTimer(m_hWnd, nIDEvent, nElapse,
  174.         (TIMERPROC)lpfnTimer); }
  175. _AFXWIN_INLINE BOOL CWnd::KillTimer(int nIDEvent)
  176.     { ASSERT(::IsWindow(m_hWnd)); return ::KillTimer(m_hWnd, nIDEvent); }
  177. #ifdef _AFX_NO_OCC_SUPPORT
  178. _AFXWIN_INLINE BOOL CWnd::IsWindowEnabled() const
  179.     { ASSERT(::IsWindow(m_hWnd)); return ::IsWindowEnabled(m_hWnd); }
  180. _AFXWIN_INLINE BOOL CWnd::EnableWindow(BOOL bEnable)
  181.     { ASSERT(::IsWindow(m_hWnd)); return ::EnableWindow(m_hWnd, bEnable); }
  182. #endif //_AFX_NO_OCC_SUPPORT
  183. _AFXWIN_INLINE CWnd* PASCAL CWnd::GetActiveWindow()
  184.     { return CWnd::FromHandle(::GetActiveWindow()); }
  185. _AFXWIN_INLINE CWnd* CWnd::SetActiveWindow()
  186.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::SetActiveWindow(m_hWnd)); }
  187. _AFXWIN_INLINE CWnd* PASCAL CWnd::GetCapture()
  188.     { return CWnd::FromHandle(::GetCapture()); }
  189. _AFXWIN_INLINE CWnd* CWnd::SetCapture()
  190.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::SetCapture(m_hWnd)); }
  191. _AFXWIN_INLINE CWnd* PASCAL CWnd::GetFocus()
  192.     { return CWnd::FromHandle(::GetFocus()); }
  193. #ifdef _AFX_NO_OCC_SUPPORT
  194. _AFXWIN_INLINE CWnd* CWnd::SetFocus()
  195.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::SetFocus(m_hWnd)); }
  196. #endif //_AFX_NO_OCC_SUPPORT
  197. _AFXWIN_INLINE CWnd* PASCAL CWnd::GetDesktopWindow()
  198.     { return CWnd::FromHandle(::WCE_FCTN(GetDesktopWindow())); }
  199. #ifdef _AFX_NO_OCC_SUPPORT
  200. _AFXWIN_INLINE void CWnd::CheckDlgButton(int nIDButton, UINT nCheck)
  201.     { ASSERT(::IsWindow(m_hWnd)); ::WCE_FCTN(CheckDlgButton)(m_hWnd, nIDButton, nCheck); }
  202. _AFXWIN_INLINE void CWnd::CheckRadioButton(int nIDFirstButton, int nIDLastButton,
  203.         int nIDCheckButton)
  204.     { ASSERT(::IsWindow(m_hWnd)); ::CheckRadioButton(m_hWnd, nIDFirstButton, nIDLastButton, nIDCheckButton); }
  205. #endif //_AFX_NO_OCC_SUPPORT
  206. WCE_DEL _AFXWIN_INLINE int CWnd::DlgDirList(LPTSTR lpPathSpec, int nIDListBox,
  207. WCE_DEL     int nIDStaticPath, UINT nFileType)
  208. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return ::DlgDirList(m_hWnd, lpPathSpec, nIDListBox,
  209. WCE_DEL         nIDStaticPath, nFileType); }
  210. WCE_DEL _AFXWIN_INLINE int CWnd::DlgDirListComboBox(LPTSTR lpPathSpec, int nIDComboBox,
  211. WCE_DEL     int nIDStaticPath, UINT nFileType)
  212. WCE_DEL    { ASSERT(::IsWindow(m_hWnd)); return ::DlgDirListComboBox(m_hWnd, lpPathSpec,
  213. WCE_DEL         nIDComboBox, nIDStaticPath, nFileType); }
  214. WCE_DEL _AFXWIN_INLINE BOOL CWnd::DlgDirSelect(LPTSTR lpString, int nIDListBox)
  215. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return ::DlgDirSelectEx(m_hWnd, lpString, _MAX_PATH, nIDListBox); }
  216. WCE_DEL _AFXWIN_INLINE BOOL CWnd::DlgDirSelectComboBox(LPTSTR lpString, int nIDComboBox)
  217. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return ::DlgDirSelectComboBoxEx(m_hWnd, lpString, _MAX_PATH, nIDComboBox);}
  218. #ifdef _AFX_NO_OCC_SUPPORT
  219. _AFXWIN_INLINE CWnd* CWnd::GetDlgItem(int nID) const
  220.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::GetDlgItem(m_hWnd, nID)); }
  221. _AFXWIN_INLINE void CWnd::GetDlgItem(int nID, HWND* phWnd) const
  222.     { ASSERT(::IsWindow(m_hWnd)); ASSERT(phWnd != NULL); *phWnd = ::GetDlgItem(m_hWnd, nID); }
  223. _AFXWIN_INLINE UINT CWnd::GetDlgItemInt(int nID, BOOL* lpTrans, 
  224.         BOOL bSigned) const
  225.     { ASSERT(::IsWindow(m_hWnd)); return ::GetDlgItemInt(m_hWnd, nID, lpTrans, bSigned);}
  226. _AFXWIN_INLINE int CWnd::GetDlgItemText(int nID, LPTSTR lpStr, int nMaxCount) const
  227.     { ASSERT(::IsWindow(m_hWnd)); return ::WCE_FCTN(GetDlgItemText)(m_hWnd, nID, lpStr, nMaxCount);}
  228. #endif //_AFX_NO_OCC_SUPPORT
  229. _AFXWIN_INLINE CWnd* CWnd::GetNextDlgGroupItem(CWnd* pWndCtl, BOOL bPrevious) const
  230.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::GetNextDlgGroupItem(m_hWnd,
  231.             pWndCtl->GetSafeHwnd(), bPrevious)); }
  232. _AFXWIN_INLINE CWnd* CWnd::GetNextDlgTabItem(CWnd* pWndCtl, BOOL bPrevious) const
  233.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::GetNextDlgTabItem(m_hWnd,
  234.             pWndCtl->GetSafeHwnd(), bPrevious)); }
  235. #ifdef _AFX_NO_OCC_SUPPORT
  236. _AFXWIN_INLINE UINT CWnd::IsDlgButtonChecked(int nIDButton) const
  237.     { ASSERT(::IsWindow(m_hWnd)); return ::WCE_FCTN(IsDlgButtonChecked)(m_hWnd, nIDButton); }
  238. _AFXWIN_INLINE LPARAM CWnd::SendDlgItemMessage(int nID, UINT message, WPARAM wParam, LPARAM lParam)
  239.     { ASSERT(::IsWindow(m_hWnd)); return ::WCE_FCTN(SendDlgItemMessage)(m_hWnd, nID, message, wParam, lParam); }
  240. _AFXWIN_INLINE void CWnd::SetDlgItemInt(int nID, UINT nValue, BOOL bSigned)
  241.     { ASSERT(::IsWindow(m_hWnd)); ::SetDlgItemInt(m_hWnd, nID, nValue, bSigned); }
  242. _AFXWIN_INLINE void CWnd::SetDlgItemText(int nID, LPCTSTR lpszString)
  243.     { ASSERT(::IsWindow(m_hWnd)); ::WCE_FCTN(SetDlgItemText)(m_hWnd, nID, lpszString); }
  244. _AFXWIN_INLINE int CWnd::ScrollWindowEx(int dx, int dy,
  245.     LPCRECT lpRectScroll, LPCRECT lpRectClip,
  246.     CRgn* prgnUpdate, LPRECT lpRectUpdate, UINT flags)
  247.     { ASSERT(::IsWindow(m_hWnd)); return ::ScrollWindowEx(m_hWnd, dx, dy, lpRectScroll, lpRectClip,
  248.       (HRGN)prgnUpdate->GetSafeHandle(), lpRectUpdate, flags); }
  249. #endif //_AFX_NO_OCC_SUPPORT
  250.  
  251. _AFXWIN_INLINE void CWnd::ShowScrollBar(UINT nBar, BOOL bShow)
  252.     { ASSERT(::IsWindow(m_hWnd)); ::WCE_FCTN(ShowScrollBar)(m_hWnd, nBar, bShow); }
  253. _AFXWIN_INLINE CWnd* CWnd::ChildWindowFromPoint(POINT point) const
  254.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::ChildWindowFromPoint(m_hWnd, point)); }
  255. WCE_DEL _AFXWIN_INLINE CWnd* CWnd::ChildWindowFromPoint(POINT point, UINT nFlags) const
  256. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::ChildWindowFromPointEx(m_hWnd, point, nFlags)); }
  257. _AFXWIN_INLINE CWnd* PASCAL CWnd::FindWindow(LPCTSTR lpszClassName, LPCTSTR lpszWindowName)
  258.     { return CWnd::FromHandle(::FindWindow(lpszClassName, lpszWindowName)); }
  259. _AFXWIN_INLINE CWnd* CWnd::GetNextWindow(UINT nFlag) const
  260.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::WCE_FCTN(GetNextWindow)(m_hWnd, nFlag)); }
  261. _AFXWIN_INLINE CWnd* CWnd::GetTopWindow() const
  262.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::WCE_FCTN(GetTopWindow)(m_hWnd)); }
  263. _AFXWIN_INLINE CWnd* CWnd::GetWindow(UINT nCmd) const
  264.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::GetWindow(m_hWnd, nCmd)); }
  265. _AFXWIN_INLINE CWnd* CWnd::GetLastActivePopup() const
  266.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::WCE_FCTN(GetLastActivePopup)(m_hWnd)); }
  267. _AFXWIN_INLINE BOOL CWnd::IsChild(const CWnd* pWnd) const
  268.     { ASSERT(::IsWindow(m_hWnd)); return ::IsChild(m_hWnd, pWnd->GetSafeHwnd()); }
  269. _AFXWIN_INLINE CWnd* CWnd::GetParent() const
  270.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::GetParent(m_hWnd)); }
  271. _AFXWIN_INLINE CWnd* CWnd::SetParent(CWnd* pWndNewParent)
  272.     { ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::SetParent(m_hWnd,
  273.             pWndNewParent->GetSafeHwnd())); }
  274. _AFXWIN_INLINE CWnd* PASCAL CWnd::WindowFromPoint(POINT point)
  275.     { return CWnd::FromHandle(::WindowFromPoint(point)); }
  276. WCE_DEL _AFXWIN_INLINE BOOL CWnd::FlashWindow(BOOL bInvert)
  277. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return ::FlashWindow(m_hWnd, bInvert); }
  278. WCE_DEL _AFXWIN_INLINE BOOL CWnd::ChangeClipboardChain(HWND hWndNext)
  279. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return ::ChangeClipboardChain(m_hWnd, hWndNext); }
  280. WCE_DEL _AFXWIN_INLINE HWND CWnd::SetClipboardViewer()
  281. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return ::SetClipboardViewer(m_hWnd); }
  282. _AFXWIN_INLINE BOOL CWnd::OpenClipboard()
  283.     { ASSERT(::IsWindow(m_hWnd)); return ::OpenClipboard(m_hWnd); }
  284. _AFXWIN_INLINE CWnd* PASCAL CWnd::GetOpenClipboardWindow()
  285.     { return CWnd::FromHandle(::GetOpenClipboardWindow()); }
  286. _AFXWIN_INLINE CWnd* PASCAL CWnd::GetClipboardOwner()
  287.     { return CWnd::FromHandle(::GetClipboardOwner()); }
  288. WCE_DEL _AFXWIN_INLINE CWnd* PASCAL CWnd::GetClipboardViewer()
  289. WCE_DEL { return CWnd::FromHandle(::GetClipboardViewer()); }
  290. WCE_DEL _AFXWIN_INLINE void CWnd::CreateCaret(CBitmap* pBitmap)
  291. WCE_DEL    { ASSERT(::IsWindow(m_hWnd)); ::CreateCaret(m_hWnd, (HBITMAP)pBitmap->GetSafeHandle(), 0, 0); }
  292. _AFXWIN_INLINE void CWnd::CreateSolidCaret(int nWidth, int nHeight)
  293.     { ASSERT(::IsWindow(m_hWnd)); ::CreateCaret(m_hWnd, (HBITMAP)0, nWidth, nHeight); }
  294. WCE_DEL _AFXWIN_INLINE void CWnd::CreateGrayCaret(int nWidth, int nHeight)
  295. WCE_DEL    { ASSERT(::IsWindow(m_hWnd)); ::CreateCaret(m_hWnd, (HBITMAP)1, nWidth, nHeight); }
  296. _AFXWIN_INLINE CPoint PASCAL CWnd::GetCaretPos()
  297.     { CPoint point; ::GetCaretPos((LPPOINT)&point); return point; }
  298. _AFXWIN_INLINE void PASCAL CWnd::SetCaretPos(POINT point)
  299.     { ::SetCaretPos(point.x, point.y); }
  300. _AFXWIN_INLINE void CWnd::HideCaret()
  301.     { ASSERT(::IsWindow(m_hWnd)); ::HideCaret(m_hWnd); }
  302. _AFXWIN_INLINE void CWnd::ShowCaret()
  303.     { ASSERT(::IsWindow(m_hWnd)); ::ShowCaret(m_hWnd); }
  304. _AFXWIN_INLINE BOOL CWnd::SetForegroundWindow()
  305.     { ASSERT(::IsWindow(m_hWnd)); return ::SetForegroundWindow(m_hWnd); }
  306. _AFXWIN_INLINE CWnd* PASCAL CWnd::GetForegroundWindow()
  307.     { return CWnd::FromHandle(::GetForegroundWindow()); }
  308.  
  309. _AFXWIN_INLINE BOOL CWnd::SendNotifyMessage(UINT message, WPARAM wParam, LPARAM lParam)
  310.     { ASSERT(::IsWindow(m_hWnd)); return ::SendNotifyMessage(m_hWnd, message, wParam, lParam); }
  311.  
  312. // Win4
  313. _AFXWIN_INLINE HICON CWnd::SetIcon(HICON hIcon, BOOL bBigIcon)
  314.     { ASSERT(::IsWindow(m_hWnd)); return (HICON)::SendMessage(m_hWnd, WM_SETICON, bBigIcon, (LPARAM)hIcon); }
  315. _AFXWIN_INLINE HICON CWnd::GetIcon(BOOL bBigIcon) const
  316.     { ASSERT(::IsWindow(m_hWnd)); return (HICON)::SendMessage(m_hWnd, WM_GETICON, bBigIcon, 0); }
  317. WCE_DEL _AFXWIN_INLINE void CWnd::Print(CDC* pDC, DWORD dwFlags) const
  318. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_PRINT, (WPARAM)pDC->GetSafeHdc(), dwFlags); }
  319. WCE_DEL _AFXWIN_INLINE void CWnd::PrintClient(CDC* pDC, DWORD dwFlags) const
  320. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_PRINTCLIENT, (WPARAM)pDC->GetSafeHdc(), dwFlags); }
  321. WCE_DEL _AFXWIN_INLINE BOOL CWnd::SetWindowContextHelpId(DWORD dwContextHelpId)
  322. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return ::SetWindowContextHelpId(m_hWnd, dwContextHelpId); }
  323. WCE_DEL _AFXWIN_INLINE DWORD CWnd::GetWindowContextHelpId() const
  324. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return ::GetWindowContextHelpId(m_hWnd); }
  325.  
  326.  
  327. // Default message map implementations
  328. WCE_DEL _AFXWIN_INLINE void CWnd::OnActivateApp(BOOL, HTASK)
  329. WCE_DEL { Default(); }
  330. _AFXWIN_INLINE void CWnd::OnActivate(UINT, CWnd*, BOOL)
  331.     { Default(); }
  332. _AFXWIN_INLINE void CWnd::OnCancelMode()
  333.     { Default(); }
  334. WCE_DEL _AFXWIN_INLINE void CWnd::OnChildActivate()
  335. WCE_DEL { Default(); }
  336. _AFXWIN_INLINE void CWnd::OnClose()
  337.     { Default(); }
  338. WCE_DEL _AFXWIN_INLINE void CWnd::OnContextMenu(CWnd*, CPoint)
  339. WCE_DEL { Default(); }
  340. _AFXWIN_INLINE int CWnd::OnCopyData(CWnd*, COPYDATASTRUCT*)
  341.     { return (int)Default(); }
  342. _AFXWIN_INLINE int CWnd::OnCreate(LPCREATESTRUCT)
  343.     { return (int)Default(); }
  344. _AFXWIN_INLINE void CWnd::OnEnable(BOOL)
  345.     { Default(); }
  346. WCE_DEL _AFXWIN_INLINE void CWnd::OnEndSession(BOOL)
  347. WCE_DEL { Default(); }
  348. _AFXWIN_INLINE BOOL CWnd::OnEraseBkgnd(CDC*)
  349.     { return (BOOL)Default(); }
  350. WCE_DEL _AFXWIN_INLINE void CWnd::OnGetMinMaxInfo(MINMAXINFO*)
  351. WCE_DEL { Default(); }
  352. WCE_DEL _AFXWIN_INLINE void CWnd::OnIconEraseBkgnd(CDC*)
  353. WCE_DEL { Default(); }
  354. _AFXWIN_INLINE void CWnd::OnKillFocus(CWnd*)
  355.     { Default(); }
  356. _AFXWIN_INLINE LRESULT CWnd::OnMenuChar(UINT, UINT, CMenu*)
  357.     { return Default(); }
  358. WCE_DEL _AFXWIN_INLINE void CWnd::OnMenuSelect(UINT, UINT, HMENU)
  359. WCE_DEL { Default(); }
  360. _AFXWIN_INLINE void CWnd::OnMove(int, int)
  361.     { Default(); }
  362. _AFXWIN_INLINE void CWnd::OnPaint()
  363.     { Default(); }
  364. _AFXWIN_INLINE HCURSOR CWnd::OnQueryDragIcon()
  365.     { return (HCURSOR)Default(); }
  366. WCE_DEL _AFXWIN_INLINE BOOL CWnd::OnQueryEndSession()
  367. WCE_DEL { return (BOOL)Default(); }
  368. _AFXWIN_INLINE BOOL CWnd::OnQueryNewPalette()
  369.     { return (BOOL)Default(); }
  370. WCE_DEL _AFXWIN_INLINE BOOL CWnd::OnQueryOpen()
  371. WCE_DEL { return (BOOL)Default(); }
  372. #if !defined(_WIN32_WCE_NO_CURSOR)
  373. _AFXWIN_INLINE BOOL CWnd::OnSetCursor(CWnd*, UINT, UINT)
  374.     { return (BOOL)Default(); }
  375. #endif // _WIN32_WCE_NO_CURSOR
  376. _AFXWIN_INLINE void CWnd::OnSetFocus(CWnd*)
  377.     { Default(); }
  378. _AFXWIN_INLINE void CWnd::OnShowWindow(BOOL, UINT)
  379.     { Default(); }
  380. _AFXWIN_INLINE void CWnd::OnSize(UINT, int, int)
  381.     { Default(); }
  382. WCE_DEL _AFXWIN_INLINE void CWnd::OnTCard(UINT, DWORD)
  383. WCE_DEL { Default(); }
  384. WCE_DEL _AFXWIN_INLINE void CWnd::OnWindowPosChanging(WINDOWPOS*)
  385. WCE_DEL { Default(); }
  386. _AFXWIN_INLINE void CWnd::OnWindowPosChanged(WINDOWPOS*)
  387.     { Default(); }
  388. WCE_DEL _AFXWIN_INLINE void CWnd::OnDropFiles(HDROP)
  389. WCE_DEL { Default(); }
  390. WCE_DEL _AFXWIN_INLINE void CWnd::OnPaletteIsChanging(CWnd*)
  391. WCE_DEL { Default(); }
  392. WCE_DEL _AFXWIN_INLINE BOOL CWnd::OnNcActivate(BOOL)
  393. WCE_DEL { return (BOOL)Default(); }
  394. WCE_DEL _AFXWIN_INLINE void CWnd::OnNcCalcSize(BOOL, NCCALCSIZE_PARAMS*)
  395. WCE_DEL { Default(); }
  396. WCE_DEL _AFXWIN_INLINE BOOL CWnd::OnNcCreate(LPCREATESTRUCT)
  397. WCE_DEL { return (BOOL)Default(); }
  398. WCE_DEL _AFXWIN_INLINE UINT CWnd::OnNcHitTest(CPoint)
  399. WCE_DEL { return (UINT)Default(); }
  400. WCE_DEL _AFXWIN_INLINE void CWnd::OnNcLButtonDblClk(UINT, CPoint)
  401. WCE_DEL { Default(); }
  402. WCE_DEL _AFXWIN_INLINE void CWnd::OnNcLButtonDown(UINT, CPoint)
  403. WCE_DEL { Default(); }
  404. WCE_DEL _AFXWIN_INLINE void CWnd::OnNcLButtonUp(UINT, CPoint)
  405. WCE_DEL { Default(); }
  406. WCE_DEL _AFXWIN_INLINE void CWnd::OnNcMButtonDblClk(UINT, CPoint)
  407. WCE_DEL { Default(); }
  408. WCE_DEL _AFXWIN_INLINE void CWnd::OnNcMButtonDown(UINT, CPoint)
  409. WCE_DEL { Default(); }
  410. WCE_DEL _AFXWIN_INLINE void CWnd::OnNcMButtonUp(UINT, CPoint)
  411. WCE_DEL { Default(); }
  412. WCE_DEL _AFXWIN_INLINE void CWnd::OnNcMouseMove(UINT, CPoint)
  413. WCE_DEL { Default(); }
  414. WCE_DEL _AFXWIN_INLINE void CWnd::OnNcPaint()
  415. WCE_DEL { Default(); }
  416. WCE_DEL _AFXWIN_INLINE void CWnd::OnNcRButtonDblClk(UINT, CPoint)
  417. WCE_DEL { Default(); }
  418. WCE_DEL _AFXWIN_INLINE void CWnd::OnNcRButtonDown(UINT, CPoint)
  419. WCE_DEL { Default(); }
  420. WCE_DEL _AFXWIN_INLINE void CWnd::OnNcRButtonUp(UINT, CPoint)
  421. WCE_DEL { Default(); }
  422. _AFXWIN_INLINE void CWnd::OnSysChar(UINT, UINT, UINT)
  423.     { Default(); }
  424. _AFXWIN_INLINE void CWnd::OnSysCommand(UINT, LPARAM)
  425.     { Default(); }
  426. _AFXWIN_INLINE void CWnd::OnSysDeadChar(UINT, UINT, UINT)
  427.     { Default(); }
  428. _AFXWIN_INLINE void CWnd::OnSysKeyDown(UINT, UINT, UINT)
  429.     { Default(); }
  430. _AFXWIN_INLINE void CWnd::OnSysKeyUp(UINT, UINT, UINT)
  431.     { Default(); }
  432. WCE_DEL _AFXWIN_INLINE void CWnd::OnCompacting(UINT)
  433. WCE_DEL { Default(); }
  434. _AFXWIN_INLINE void CWnd::OnFontChange()
  435.     { Default(); }
  436. _AFXWIN_INLINE void CWnd::OnPaletteChanged(CWnd*)
  437.     { Default(); }
  438. WCE_DEL _AFXWIN_INLINE void CWnd::OnSpoolerStatus(UINT, UINT)
  439. WCE_DEL { Default(); }
  440. WCE_DEL _AFXWIN_INLINE void CWnd::OnTimeChange()
  441. WCE_DEL { Default(); }
  442. _AFXWIN_INLINE void CWnd::OnChar(UINT, UINT, UINT)
  443.     { Default(); }
  444. _AFXWIN_INLINE void CWnd::OnDeadChar(UINT, UINT, UINT)
  445.     { Default(); }
  446. _AFXWIN_INLINE void CWnd::OnKeyDown(UINT, UINT, UINT)
  447.     { Default(); }
  448. _AFXWIN_INLINE void CWnd::OnKeyUp(UINT, UINT, UINT)
  449.     { Default(); }
  450. _AFXWIN_INLINE void CWnd::OnLButtonDblClk(UINT, CPoint)
  451.     { Default(); }
  452. _AFXWIN_INLINE void CWnd::OnLButtonDown(UINT, CPoint)
  453.     { Default(); }
  454. _AFXWIN_INLINE void CWnd::OnLButtonUp(UINT, CPoint)
  455.     { Default(); }
  456. WCE_DEL _AFXWIN_INLINE void CWnd::OnMButtonDblClk(UINT, CPoint)
  457. WCE_DEL { Default(); }
  458. WCE_DEL _AFXWIN_INLINE void CWnd::OnMButtonDown(UINT, CPoint)
  459. WCE_DEL { Default(); }
  460. WCE_DEL _AFXWIN_INLINE void CWnd::OnMButtonUp(UINT, CPoint)
  461. WCE_DEL { Default(); }
  462. WCE_DEL _AFXWIN_INLINE int CWnd::OnMouseActivate(CWnd*, UINT, UINT)
  463. WCE_DEL { return (int)Default(); }
  464. _AFXWIN_INLINE void CWnd::OnMouseMove(UINT, CPoint)
  465.     { Default(); }
  466. WCE_DEL _AFXWIN_INLINE BOOL CWnd::OnMouseWheel(UINT, short, CPoint)
  467. WCE_DEL { return (BOOL)Default(); }
  468. WCE_DEL _AFXWIN_INLINE LRESULT CWnd::OnRegisteredMouseWheel(WPARAM, LPARAM)
  469. WCE_DEL { return Default(); }
  470. WCE_DEL _AFXWIN_INLINE void CWnd::OnRButtonDblClk(UINT, CPoint)
  471. WCE_DEL { Default(); }
  472. WCE_DEL _AFXWIN_INLINE void CWnd::OnRButtonDown(UINT, CPoint)
  473. WCE_DEL { Default(); }
  474. WCE_DEL _AFXWIN_INLINE void CWnd::OnRButtonUp(UINT, CPoint)
  475. WCE_DEL { Default(); }
  476. _AFXWIN_INLINE void CWnd::OnTimer(UINT)
  477.     { Default(); }
  478. WCE_DEL _AFXWIN_INLINE void CWnd::OnInitMenu(CMenu*)
  479. WCE_DEL { Default(); }
  480. _AFXWIN_INLINE void CWnd::OnInitMenuPopup(CMenu*, UINT, BOOL)
  481.     { Default(); }
  482. WCE_DEL _AFXWIN_INLINE void CWnd::OnAskCbFormatName(UINT, LPTSTR)
  483. WCE_DEL { Default(); }
  484. WCE_DEL _AFXWIN_INLINE void CWnd::OnChangeCbChain(HWND, HWND)
  485. WCE_DEL { Default(); }
  486. _AFXWIN_INLINE void CWnd::OnDestroyClipboard()
  487.     { Default(); }
  488. WCE_DEL _AFXWIN_INLINE void CWnd::OnDrawClipboard()
  489. WCE_DEL { Default(); }
  490. WCE_DEL _AFXWIN_INLINE void CWnd::OnHScrollClipboard(CWnd*, UINT, UINT)
  491. WCE_DEL { Default(); }
  492. WCE_DEL _AFXWIN_INLINE void CWnd::OnPaintClipboard(CWnd*, HGLOBAL)
  493. WCE_DEL { Default(); }
  494. _AFXWIN_INLINE void CWnd::OnRenderAllFormats()
  495.     { Default(); }
  496. _AFXWIN_INLINE void CWnd::OnRenderFormat(UINT)
  497.     { Default(); }
  498. WCE_DEL _AFXWIN_INLINE void CWnd::OnSizeClipboard(CWnd*, HGLOBAL)
  499. WCE_DEL { Default(); }
  500. WCE_DEL _AFXWIN_INLINE void CWnd::OnVScrollClipboard(CWnd*, UINT, UINT)
  501. WCE_DEL { Default(); }
  502. _AFXWIN_INLINE UINT CWnd::OnGetDlgCode()
  503.     { return (UINT)Default(); }
  504. WCE_DEL _AFXWIN_INLINE void CWnd::OnMDIActivate(BOOL, CWnd*, CWnd*)
  505. WCE_DEL { Default(); }
  506. WCE_DEL _AFXWIN_INLINE void CWnd::OnEnterMenuLoop(BOOL)
  507. WCE_DEL { Default(); }
  508. WCE_DEL _AFXWIN_INLINE void CWnd::OnExitMenuLoop(BOOL)
  509. WCE_DEL { Default(); }
  510. // Win4 support
  511. _AFXWIN_INLINE void CWnd::OnStyleChanged(int, LPSTYLESTRUCT)
  512.     { Default(); }
  513. WCE_DEL _AFXWIN_INLINE void CWnd::OnStyleChanging(int, LPSTYLESTRUCT)
  514. WCE_DEL { Default(); }
  515. WCE_DEL _AFXWIN_INLINE void CWnd::OnSizing(UINT, LPRECT)
  516. WCE_DEL { Default(); }
  517. WCE_DEL _AFXWIN_INLINE void CWnd::OnMoving(UINT, LPRECT)
  518. WCE_DEL { Default(); }
  519. _AFXWIN_INLINE void CWnd::OnCaptureChanged(CWnd*)
  520.     { Default(); }
  521. WCE_DEL _AFXWIN_INLINE BOOL CWnd::OnDeviceChange(UINT, DWORD)
  522. WCE_DEL { return (BOOL)Default(); }
  523.  
  524. // CWnd dialog data support
  525. _AFXWIN_INLINE void CWnd::DoDataExchange(CDataExchange*)
  526.     { } // default does nothing
  527.  
  528. // CWnd modality support
  529. _AFXWIN_INLINE void CWnd::BeginModalState()
  530.     { ::EnableWindow(m_hWnd, FALSE); }
  531. _AFXWIN_INLINE void CWnd::EndModalState()
  532.     { ::EnableWindow(m_hWnd, TRUE); }
  533.  
  534. // CFrameWnd
  535. _AFXWIN_INLINE void CFrameWnd::DelayUpdateFrameTitle()
  536.     { m_nIdleFlags |= idleTitle; }
  537. _AFXWIN_INLINE void CFrameWnd::DelayRecalcLayout(BOOL bNotify)
  538.     { m_nIdleFlags |= (idleLayout | (bNotify ? idleNotify : 0)); };
  539. _AFXWIN_INLINE BOOL CFrameWnd::InModalState() const
  540.     { return m_cModalStack != 0; }
  541. #if !defined(_WIN32_WCE_NO_CONTROLBARS)
  542. _AFXWIN_INLINE void CFrameWnd::AddControlBar(CControlBar *pBar)
  543.     { m_listControlBars.AddTail(pBar); }
  544. #endif // _WIN32_WCE_NO_CONTROLBARS
  545. _AFXWIN_INLINE void CFrameWnd::SetTitle(LPCTSTR lpszTitle)
  546.     { m_strTitle = lpszTitle; }
  547. _AFXWIN_INLINE CString CFrameWnd::GetTitle() const
  548.     { return m_strTitle; }
  549.  
  550. // CDialog
  551. _AFXWIN_INLINE BOOL CDialog::Create(UINT nIDTemplate, CWnd* pParentWnd)
  552.     { return Create(MAKEINTRESOURCE(nIDTemplate), pParentWnd); }
  553. _AFXWIN_INLINE void CDialog::MapDialogRect(LPRECT lpRect) const
  554.     { ASSERT(::IsWindow(m_hWnd)); ::MapDialogRect(m_hWnd, lpRect); }
  555. _AFXWIN_INLINE void CDialog::SetHelpID(UINT nIDR)
  556.     { m_nIDHelp = nIDR; }
  557. _AFXWIN_INLINE void CDialog::NextDlgCtrl() const
  558.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_NEXTDLGCTL, 0, 0); }
  559. _AFXWIN_INLINE void CDialog::PrevDlgCtrl() const
  560.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_NEXTDLGCTL, 1, 0); }
  561. _AFXWIN_INLINE void CDialog::GotoDlgCtrl(CWnd* pWndCtrl)
  562.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_NEXTDLGCTL, (WPARAM)pWndCtrl->m_hWnd, 1L); }
  563. _AFXWIN_INLINE void CDialog::SetDefID(UINT nID)
  564.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, DM_SETDEFID, nID, 0); }
  565. _AFXWIN_INLINE DWORD CDialog::GetDefID() const
  566.     { ASSERT(::IsWindow(m_hWnd)); return ::SendMessage(m_hWnd, DM_GETDEFID, 0, 0); }
  567.  
  568. // Window control functions
  569. _AFXWIN_INLINE CStatic::CStatic()
  570.     { }
  571. WCE_DEL _AFXWIN_INLINE HICON CStatic::SetIcon(HICON hIcon)
  572. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return (HICON)::SendMessage(m_hWnd, STM_SETICON, (WPARAM)hIcon, 0L); }
  573. WCE_DEL _AFXWIN_INLINE HICON CStatic::GetIcon() const
  574. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return (HICON)::SendMessage(m_hWnd, STM_GETICON, 0, 0L); }
  575. #if (WINVER >= 0x400)
  576. WCE_DEL _AFXWIN_INLINE HENHMETAFILE CStatic::SetEnhMetaFile(HENHMETAFILE hMetaFile)
  577. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return (HENHMETAFILE)::SendMessage(m_hWnd, STM_SETIMAGE, IMAGE_ENHMETAFILE, (LPARAM)hMetaFile); }
  578. WCE_DEL _AFXWIN_INLINE HENHMETAFILE CStatic::GetEnhMetaFile() const
  579. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return (HENHMETAFILE)::SendMessage(m_hWnd, STM_GETIMAGE, IMAGE_ENHMETAFILE, 0L); }
  580. _AFXWIN_INLINE HBITMAP CStatic::SetBitmap(HBITMAP hBitmap)
  581.     { ASSERT(::IsWindow(m_hWnd)); return (HBITMAP)::SendMessage(m_hWnd, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBitmap); }
  582. _AFXWIN_INLINE HBITMAP CStatic::GetBitmap() const
  583.     { ASSERT(::IsWindow(m_hWnd)); return (HBITMAP)::SendMessage(m_hWnd, STM_GETIMAGE, IMAGE_BITMAP, 0L); }
  584. WCE_DEL _AFXWIN_INLINE HCURSOR CStatic::SetCursor(HCURSOR hCursor)
  585. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return (HCURSOR)::SendMessage(m_hWnd, STM_SETIMAGE, IMAGE_CURSOR, (LPARAM)hCursor); }
  586. WCE_DEL _AFXWIN_INLINE HCURSOR CStatic::GetCursor()
  587. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return (HCURSOR)::SendMessage(m_hWnd, STM_GETIMAGE, IMAGE_CURSOR, 0L); }
  588. #endif
  589.  
  590. _AFXWIN_INLINE CButton::CButton()
  591.     { }
  592. _AFXWIN_INLINE UINT CButton::GetState() const
  593.     { ASSERT(::IsWindow(m_hWnd)); return (UINT)::SendMessage(m_hWnd, BM_GETSTATE, 0, 0); }
  594. _AFXWIN_INLINE void CButton::SetState(BOOL bHighlight)
  595.     { ::SendMessage(m_hWnd, BM_SETSTATE, bHighlight, 0); }
  596. _AFXWIN_INLINE int CButton::GetCheck() const
  597.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, BM_GETCHECK, 0, 0); }
  598. _AFXWIN_INLINE void CButton::SetCheck(int nCheck)
  599.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, BM_SETCHECK, nCheck, 0); }
  600. _AFXWIN_INLINE UINT CButton::GetButtonStyle() const
  601.     { ASSERT(::IsWindow(m_hWnd)); return (UINT)GetWindowLong(m_hWnd, GWL_STYLE) & 0xff; }
  602. _AFXWIN_INLINE void CButton::SetButtonStyle(UINT nStyle, BOOL bRedraw)
  603.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, BM_SETSTYLE, nStyle, (LPARAM)bRedraw); }
  604. // Win4
  605. #if (WINVER >= 0x400)
  606. WCE_DEL _AFXWIN_INLINE HICON CButton::SetIcon(HICON hIcon)
  607. WCE_DEL     { ASSERT(::IsWindow(m_hWnd)); return (HICON)::SendMessage(m_hWnd, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); }
  608. WCE_DEL _AFXWIN_INLINE HICON CButton::GetIcon() const
  609. WCE_DEL     { ASSERT(::IsWindow(m_hWnd)); return (HICON)::SendMessage(m_hWnd, BM_GETIMAGE, IMAGE_ICON, 0L); }
  610. WCE_DEL _AFXWIN_INLINE HBITMAP CButton::SetBitmap(HBITMAP hBitmap)
  611. WCE_DEL     { ASSERT(::IsWindow(m_hWnd)); return (HBITMAP)::SendMessage(m_hWnd, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBitmap); }
  612. WCE_DEL _AFXWIN_INLINE HBITMAP CButton::GetBitmap() const
  613. WCE_DEL     { ASSERT(::IsWindow(m_hWnd)); return (HBITMAP)::SendMessage(m_hWnd, BM_GETIMAGE, IMAGE_BITMAP, 0L); }
  614. WCE_DEL _AFXWIN_INLINE HCURSOR CButton::SetCursor(HCURSOR hCursor)
  615. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return (HCURSOR)::SendMessage(m_hWnd, BM_SETIMAGE, IMAGE_CURSOR, (LPARAM)hCursor); }
  616. WCE_DEL _AFXWIN_INLINE HCURSOR CButton::GetCursor()
  617. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return (HCURSOR)::SendMessage(m_hWnd, BM_GETIMAGE, IMAGE_CURSOR, 0L); }
  618. #endif
  619.  
  620. _AFXWIN_INLINE CListBox::CListBox()
  621.     { }
  622. _AFXWIN_INLINE int CListBox::GetCount() const
  623.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_GETCOUNT, 0, 0); }
  624. _AFXWIN_INLINE int CListBox::GetCurSel() const
  625.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_GETCURSEL, 0, 0); }
  626. _AFXWIN_INLINE int CListBox::SetCurSel(int nSelect)
  627.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_SETCURSEL, nSelect, 0); }
  628. _AFXWIN_INLINE int CListBox::GetHorizontalExtent() const
  629.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_GETHORIZONTALEXTENT,
  630.         0, 0); }
  631. _AFXWIN_INLINE void CListBox::SetHorizontalExtent(int cxExtent)
  632.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, LB_SETHORIZONTALEXTENT, cxExtent, 0); }
  633. _AFXWIN_INLINE int CListBox::GetSelCount() const
  634.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_GETSELCOUNT, 0, 0); }
  635. _AFXWIN_INLINE int CListBox::GetSelItems(int nMaxItems, LPINT rgIndex) const
  636.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_GETSELITEMS, nMaxItems, (LPARAM)rgIndex); }
  637. _AFXWIN_INLINE int CListBox::GetTopIndex() const
  638.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_GETTOPINDEX, 0, 0); }
  639. _AFXWIN_INLINE int CListBox::SetTopIndex(int nIndex)
  640.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_SETTOPINDEX, nIndex, 0);}
  641. _AFXWIN_INLINE DWORD CListBox::GetItemData(int nIndex) const
  642.     { ASSERT(::IsWindow(m_hWnd)); return ::SendMessage(m_hWnd, LB_GETITEMDATA, nIndex, 0); }
  643. _AFXWIN_INLINE int CListBox::SetItemData(int nIndex, DWORD dwItemData)
  644.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_SETITEMDATA, nIndex, (LPARAM)dwItemData); }
  645. _AFXWIN_INLINE void* CListBox::GetItemDataPtr(int nIndex) const
  646.     { ASSERT(::IsWindow(m_hWnd)); return (LPVOID)::SendMessage(m_hWnd, LB_GETITEMDATA, nIndex, 0); }
  647. _AFXWIN_INLINE int CListBox::SetItemDataPtr(int nIndex, void* pData)
  648.     { ASSERT(::IsWindow(m_hWnd)); return SetItemData(nIndex, (DWORD)(LPVOID)pData); }
  649. _AFXWIN_INLINE int CListBox::GetItemRect(int nIndex, LPRECT lpRect) const
  650.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_GETITEMRECT, nIndex, (LPARAM)lpRect); }
  651. _AFXWIN_INLINE int CListBox::GetSel(int nIndex) const
  652.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_GETSEL, nIndex, 0); }
  653. _AFXWIN_INLINE int CListBox::SetSel(int nIndex, BOOL bSelect)
  654.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_SETSEL, bSelect, nIndex); }
  655. _AFXWIN_INLINE int CListBox::GetText(int nIndex, LPTSTR lpszBuffer) const
  656.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_GETTEXT, nIndex, (LPARAM)lpszBuffer); }
  657. _AFXWIN_INLINE int CListBox::GetTextLen(int nIndex) const
  658.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_GETTEXTLEN, nIndex, 0); }
  659. _AFXWIN_INLINE void CListBox::SetColumnWidth(int cxWidth)
  660.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, LB_SETCOLUMNWIDTH, cxWidth, 0); }
  661. _AFXWIN_INLINE BOOL CListBox::SetTabStops(int nTabStops, LPINT rgTabStops)
  662.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, LB_SETTABSTOPS, nTabStops, (LPARAM)rgTabStops); }
  663. _AFXWIN_INLINE void CListBox::SetTabStops()
  664.     { ASSERT(::IsWindow(m_hWnd)); VERIFY(::SendMessage(m_hWnd, LB_SETTABSTOPS, 0, 0)); }
  665. _AFXWIN_INLINE BOOL CListBox::SetTabStops(const int& cxEachStop)
  666.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, LB_SETTABSTOPS, 1, (LPARAM)(LPINT)&cxEachStop); }
  667. _AFXWIN_INLINE int CListBox::SetItemHeight(int nIndex, UINT cyItemHeight)
  668.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_SETITEMHEIGHT, nIndex, MAKELONG(cyItemHeight, 0)); }
  669. _AFXWIN_INLINE int CListBox::GetItemHeight(int nIndex) const
  670.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_GETITEMHEIGHT, nIndex, 0L); }
  671. _AFXWIN_INLINE int CListBox::FindStringExact(int nIndexStart, LPCTSTR lpszFind) const
  672.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_FINDSTRINGEXACT, nIndexStart, (LPARAM)lpszFind); }
  673. _AFXWIN_INLINE int CListBox::GetCaretIndex() const
  674.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_GETCARETINDEX, 0, 0L); }
  675. _AFXWIN_INLINE int CListBox::SetCaretIndex(int nIndex, BOOL bScroll)
  676.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_SETCARETINDEX, nIndex, MAKELONG(bScroll, 0)); }
  677. _AFXWIN_INLINE int CListBox::AddString(LPCTSTR lpszItem)
  678.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_ADDSTRING, 0, (LPARAM)lpszItem); }
  679. _AFXWIN_INLINE int CListBox::DeleteString(UINT nIndex)
  680.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_DELETESTRING, nIndex, 0); }
  681. _AFXWIN_INLINE int CListBox::InsertString(int nIndex, LPCTSTR lpszItem)
  682.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_INSERTSTRING, nIndex, (LPARAM)lpszItem); }
  683. _AFXWIN_INLINE void CListBox::ResetContent()
  684.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, LB_RESETCONTENT, 0, 0); }
  685. WCE_DEL _AFXWIN_INLINE int CListBox::Dir(UINT attr, LPCTSTR lpszWildCard)
  686. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_DIR, attr, (LPARAM)lpszWildCard); }
  687. _AFXWIN_INLINE int CListBox::FindString(int nStartAfter, LPCTSTR lpszItem) const
  688.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_FINDSTRING,
  689.         nStartAfter, (LPARAM)lpszItem); }
  690. _AFXWIN_INLINE int CListBox::SelectString(int nStartAfter, LPCTSTR lpszItem)
  691.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_SELECTSTRING,
  692.         nStartAfter, (LPARAM)lpszItem); }
  693. _AFXWIN_INLINE int CListBox::SelItemRange(BOOL bSelect, int nFirstItem, int nLastItem)
  694.     { ASSERT(::IsWindow(m_hWnd)); return bSelect ?
  695.         (int)::SendMessage(m_hWnd, LB_SELITEMRANGEEX, nFirstItem, nLastItem) :
  696.         (int)::SendMessage(m_hWnd, LB_SELITEMRANGEEX, nLastItem, nFirstItem); }
  697. _AFXWIN_INLINE void CListBox::SetAnchorIndex(int nIndex)
  698.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, LB_SETANCHORINDEX, nIndex, 0); }
  699. _AFXWIN_INLINE int CListBox::GetAnchorIndex() const
  700.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_GETANCHORINDEX, 0, 0); }
  701. _AFXWIN_INLINE LCID CListBox::GetLocale() const
  702.     { ASSERT(::IsWindow(m_hWnd)); return (LCID)::SendMessage(m_hWnd, LB_GETLOCALE, 0, 0); }
  703. _AFXWIN_INLINE LCID CListBox::SetLocale(LCID nNewLocale)
  704.     { ASSERT(::IsWindow(m_hWnd)); return (LCID)::SendMessage(m_hWnd, LB_SETLOCALE, (WPARAM)nNewLocale, 0); }
  705. #if (WINVER >= 0x400)
  706. _AFXWIN_INLINE int CListBox::InitStorage(int nItems, UINT nBytes)
  707.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, LB_INITSTORAGE, (WPARAM)nItems, nBytes); }
  708. #endif
  709.  
  710. WCE_DEL _AFXWIN_INLINE CCheckListBox::CCheckListBox()
  711. WCE_DEL { m_cyText = 0; m_nStyle = 0; }
  712. WCE_DEL _AFXWIN_INLINE UINT CCheckListBox::GetCheckStyle()
  713. WCE_DEL { return m_nStyle; }
  714.  
  715. _AFXWIN_INLINE CComboBox::CComboBox()
  716.     { }
  717. _AFXWIN_INLINE int CComboBox::GetCount() const
  718.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_GETCOUNT, 0, 0); }
  719. _AFXWIN_INLINE int CComboBox::GetCurSel() const
  720.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_GETCURSEL, 0, 0); }
  721. _AFXWIN_INLINE int CComboBox::SetCurSel(int nSelect)
  722.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_SETCURSEL, nSelect, 0); }
  723. _AFXWIN_INLINE DWORD CComboBox::GetEditSel() const
  724.     { ASSERT(::IsWindow(m_hWnd)); return ::SendMessage(m_hWnd, CB_GETEDITSEL, 0, 0); }
  725. _AFXWIN_INLINE BOOL CComboBox::LimitText(int nMaxChars)
  726.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, CB_LIMITTEXT, nMaxChars, 0); }
  727. _AFXWIN_INLINE BOOL CComboBox::SetEditSel(int nStartChar, int nEndChar)
  728.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, CB_SETEDITSEL, 0, MAKELONG(nStartChar, nEndChar)); }
  729. _AFXWIN_INLINE DWORD CComboBox::GetItemData(int nIndex) const
  730.     { ASSERT(::IsWindow(m_hWnd)); return ::SendMessage(m_hWnd, CB_GETITEMDATA, nIndex, 0); }
  731. _AFXWIN_INLINE int CComboBox::SetItemData(int nIndex, DWORD dwItemData)
  732.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_SETITEMDATA, nIndex, (LPARAM)dwItemData); }
  733. _AFXWIN_INLINE void* CComboBox::GetItemDataPtr(int nIndex) const
  734.     { ASSERT(::IsWindow(m_hWnd)); return (LPVOID)GetItemData(nIndex); }
  735. _AFXWIN_INLINE int CComboBox::SetItemDataPtr(int nIndex, void* pData)
  736.     { ASSERT(::IsWindow(m_hWnd)); return SetItemData(nIndex, (DWORD)(LPVOID)pData); }
  737. _AFXWIN_INLINE int CComboBox::GetLBText(int nIndex, LPTSTR lpszText) const
  738.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_GETLBTEXT, nIndex, (LPARAM)lpszText); }
  739. _AFXWIN_INLINE int CComboBox::GetLBTextLen(int nIndex) const
  740.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_GETLBTEXTLEN, nIndex, 0); }
  741. _AFXWIN_INLINE void CComboBox::ShowDropDown(BOOL bShowIt)
  742.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, CB_SHOWDROPDOWN, bShowIt, 0); }
  743. _AFXWIN_INLINE int CComboBox::AddString(LPCTSTR lpszString)
  744.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_ADDSTRING, 0, (LPARAM)lpszString); }
  745. _AFXWIN_INLINE int CComboBox::DeleteString(UINT nIndex)
  746.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_DELETESTRING, nIndex, 0);}
  747. _AFXWIN_INLINE int CComboBox::InsertString(int nIndex, LPCTSTR lpszString)
  748.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_INSERTSTRING, nIndex, (LPARAM)lpszString); }
  749. _AFXWIN_INLINE void CComboBox::ResetContent()
  750.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, CB_RESETCONTENT, 0, 0); }
  751. WCE_DEL _AFXWIN_INLINE int CComboBox::Dir(UINT attr, LPCTSTR lpszWildCard)
  752. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_DIR, attr, (LPARAM)lpszWildCard); }
  753. _AFXWIN_INLINE int CComboBox::FindString(int nStartAfter, LPCTSTR lpszString) const
  754.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_FINDSTRING, nStartAfter,
  755.         (LPARAM)lpszString); }
  756. _AFXWIN_INLINE int CComboBox::SelectString(int nStartAfter, LPCTSTR lpszString)
  757.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_SELECTSTRING,
  758.         nStartAfter, (LPARAM)lpszString); }
  759. _AFXWIN_INLINE void CComboBox::Clear()
  760.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_CLEAR, 0, 0); }
  761. _AFXWIN_INLINE void CComboBox::Copy()
  762.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_COPY, 0, 0); }
  763. _AFXWIN_INLINE void CComboBox::Cut()
  764.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_CUT, 0, 0); }
  765. _AFXWIN_INLINE void CComboBox::Paste()
  766.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_PASTE, 0, 0); }
  767. _AFXWIN_INLINE int CComboBox::SetItemHeight(int nIndex, UINT cyItemHeight)
  768.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_SETITEMHEIGHT, nIndex, MAKELONG(cyItemHeight, 0)); }
  769. _AFXWIN_INLINE int CComboBox::GetItemHeight(int nIndex) const
  770.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_GETITEMHEIGHT, nIndex, 0L); }
  771. _AFXWIN_INLINE int CComboBox::FindStringExact(int nIndexStart, LPCTSTR lpszFind) const
  772.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_FINDSTRINGEXACT, nIndexStart, (LPARAM)lpszFind); }
  773. _AFXWIN_INLINE int CComboBox::SetExtendedUI(BOOL bExtended )
  774.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_SETEXTENDEDUI, bExtended, 0L); }
  775. _AFXWIN_INLINE BOOL CComboBox::GetExtendedUI() const
  776.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, CB_GETEXTENDEDUI, 0, 0L); }
  777. _AFXWIN_INLINE void CComboBox::GetDroppedControlRect(LPRECT lprect) const
  778.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, CB_GETDROPPEDCONTROLRECT, 0, (DWORD)lprect); }
  779. _AFXWIN_INLINE BOOL CComboBox::GetDroppedState() const
  780.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, CB_GETDROPPEDSTATE, 0, 0L); }
  781. _AFXWIN_INLINE LCID CComboBox::GetLocale() const
  782.     { ASSERT(::IsWindow(m_hWnd)); return (LCID)::SendMessage(m_hWnd, CB_GETLOCALE, 0, 0); }
  783. _AFXWIN_INLINE LCID CComboBox::SetLocale(LCID nNewLocale)
  784.     { ASSERT(::IsWindow(m_hWnd)); return (LCID)::SendMessage(m_hWnd, CB_SETLOCALE, (WPARAM)nNewLocale, 0); }
  785. #if (WINVER >= 0x400)
  786. _AFXWIN_INLINE int CComboBox::GetTopIndex() const
  787.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_GETTOPINDEX, 0, 0); }
  788. _AFXWIN_INLINE int CComboBox::SetTopIndex(int nIndex)
  789.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_SETTOPINDEX, nIndex, 0); }
  790. _AFXWIN_INLINE int CComboBox::InitStorage(int nItems, UINT nBytes)
  791.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_INITSTORAGE, (WPARAM)nItems, nBytes); }
  792. _AFXWIN_INLINE void CComboBox::SetHorizontalExtent(UINT nExtent)
  793.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, CB_SETHORIZONTALEXTENT, nExtent, 0); }
  794. _AFXWIN_INLINE UINT CComboBox::GetHorizontalExtent() const
  795.     { ASSERT(::IsWindow(m_hWnd)); return (UINT)::SendMessage(m_hWnd, CB_GETHORIZONTALEXTENT, 0, 0); }
  796. _AFXWIN_INLINE int CComboBox::SetDroppedWidth(UINT nWidth)
  797.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_SETDROPPEDWIDTH, nWidth, 0); }
  798. _AFXWIN_INLINE int CComboBox::GetDroppedWidth() const
  799.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_GETDROPPEDWIDTH, 0, 0); }
  800. #endif
  801. _AFXWIN_INLINE CEdit::CEdit()
  802.     { }
  803. _AFXWIN_INLINE BOOL CEdit::CanUndo() const
  804.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_CANUNDO, 0, 0); }
  805. _AFXWIN_INLINE int CEdit::GetLineCount() const
  806.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, EM_GETLINECOUNT, 0, 0); }
  807. _AFXWIN_INLINE BOOL CEdit::GetModify() const
  808.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_GETMODIFY, 0, 0); }
  809. _AFXWIN_INLINE void CEdit::SetModify(BOOL bModified)
  810.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETMODIFY, bModified, 0); }
  811. _AFXWIN_INLINE void CEdit::GetRect(LPRECT lpRect) const
  812.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_GETRECT, 0, (LPARAM)lpRect); }
  813. _AFXWIN_INLINE void CEdit::GetSel(int& nStartChar, int& nEndChar) const
  814.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_GETSEL, (WPARAM)&nStartChar,(LPARAM)&nEndChar); }
  815. _AFXWIN_INLINE DWORD CEdit::GetSel() const
  816.     { ASSERT(::IsWindow(m_hWnd)); return ::SendMessage(m_hWnd, EM_GETSEL, 0, 0); }
  817. WCE_DEL _AFXWIN_INLINE HLOCAL CEdit::GetHandle() const
  818. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return (HLOCAL)::SendMessage(m_hWnd, EM_GETHANDLE, 0, 0); }
  819. WCE_DEL _AFXWIN_INLINE void CEdit::SetHandle(HLOCAL hBuffer)
  820. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETHANDLE, (WPARAM)hBuffer, 0); }
  821. _AFXWIN_INLINE int CEdit::GetLine(int nIndex, LPTSTR lpszBuffer) const
  822.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, EM_GETLINE, nIndex, (LPARAM)lpszBuffer); }
  823. _AFXWIN_INLINE int CEdit::GetLine(int nIndex, LPTSTR lpszBuffer, int nMaxLength) const
  824.     {
  825.         ASSERT(::IsWindow(m_hWnd));
  826.         *(LPWORD)lpszBuffer = (WORD)nMaxLength;
  827.         return (int)::SendMessage(m_hWnd, EM_GETLINE, nIndex, (LPARAM)lpszBuffer);
  828.     }
  829. _AFXWIN_INLINE void CEdit::EmptyUndoBuffer()
  830.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_EMPTYUNDOBUFFER, 0, 0); }
  831. _AFXWIN_INLINE BOOL CEdit::FmtLines(BOOL bAddEOL)
  832.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_FMTLINES, bAddEOL, 0); }
  833. _AFXWIN_INLINE void CEdit::LimitText(int nChars)
  834.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_LIMITTEXT, nChars, 0); }
  835. _AFXWIN_INLINE int CEdit::LineFromChar(int nIndex) const
  836.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, EM_LINEFROMCHAR, nIndex, 0); }
  837. _AFXWIN_INLINE int CEdit::LineIndex(int nLine) const
  838.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, EM_LINEINDEX, nLine, 0); }
  839. _AFXWIN_INLINE int CEdit::LineLength(int nLine) const
  840.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, EM_LINELENGTH, nLine, 0); }
  841. _AFXWIN_INLINE void CEdit::LineScroll(int nLines, int nChars)
  842.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_LINESCROLL, nChars, nLines); }
  843. _AFXWIN_INLINE void CEdit::ReplaceSel(LPCTSTR lpszNewText, BOOL bCanUndo)
  844.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_REPLACESEL, (WPARAM) bCanUndo, (LPARAM)lpszNewText); }
  845. _AFXWIN_INLINE void CEdit::SetPasswordChar(TCHAR ch)
  846.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETPASSWORDCHAR, ch, 0); }
  847. _AFXWIN_INLINE void CEdit::SetRect(LPCRECT lpRect)
  848.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETRECT, 0, (LPARAM)lpRect); }
  849. _AFXWIN_INLINE void CEdit::SetRectNP(LPCRECT lpRect)
  850.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETRECTNP, 0, (LPARAM)lpRect); }
  851. _AFXWIN_INLINE void CEdit::SetSel(DWORD dwSelection, BOOL bNoScroll)
  852.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETSEL,
  853.         LOWORD(dwSelection), HIWORD(dwSelection));
  854.       if (!bNoScroll)
  855.         ::SendMessage(m_hWnd, EM_SCROLLCARET, 0, 0); }
  856. _AFXWIN_INLINE void CEdit::SetSel(int nStartChar, int nEndChar, BOOL bNoScroll)
  857.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETSEL, nStartChar, nEndChar);
  858.       if (!bNoScroll)
  859.         ::SendMessage(m_hWnd, EM_SCROLLCARET, 0, 0); }
  860. _AFXWIN_INLINE BOOL CEdit::SetTabStops(int nTabStops, LPINT rgTabStops)
  861.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_SETTABSTOPS, nTabStops,
  862.         (LPARAM)rgTabStops); }
  863. _AFXWIN_INLINE void CEdit::SetTabStops()
  864.     { ASSERT(::IsWindow(m_hWnd)); VERIFY(::SendMessage(m_hWnd, EM_SETTABSTOPS, 0, 0)); }
  865. _AFXWIN_INLINE BOOL CEdit::SetTabStops(const int& cxEachStop)
  866.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_SETTABSTOPS,
  867.         1, (LPARAM)(LPINT)&cxEachStop); }
  868. _AFXWIN_INLINE BOOL CEdit::Undo()
  869.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_UNDO, 0, 0); }
  870. _AFXWIN_INLINE void CEdit::Clear()
  871.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_CLEAR, 0, 0); }
  872. _AFXWIN_INLINE void CEdit::Copy()
  873.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_COPY, 0, 0); }
  874. _AFXWIN_INLINE void CEdit::Cut()
  875.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_CUT, 0, 0); }
  876. _AFXWIN_INLINE void CEdit::Paste()
  877.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_PASTE, 0, 0); }
  878. _AFXWIN_INLINE BOOL CEdit::SetReadOnly(BOOL bReadOnly )
  879.     { ASSERT(::IsWindow(m_hWnd)); return (BOOL)::SendMessage(m_hWnd, EM_SETREADONLY, bReadOnly, 0L); }
  880. _AFXWIN_INLINE int CEdit::GetFirstVisibleLine() const
  881.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, EM_GETFIRSTVISIBLELINE, 0, 0L); }
  882. _AFXWIN_INLINE TCHAR CEdit::GetPasswordChar() const
  883.     { ASSERT(::IsWindow(m_hWnd)); return (TCHAR)::SendMessage(m_hWnd, EM_GETPASSWORDCHAR, 0, 0L); }
  884. #if (WINVER >= 0x400)
  885. _AFXWIN_INLINE void CEdit::SetMargins(UINT nLeft, UINT nRight)
  886.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETMARGINS, EC_LEFTMARGIN|EC_RIGHTMARGIN, MAKELONG(nLeft, nRight)); }
  887. _AFXWIN_INLINE DWORD CEdit::GetMargins() const
  888.     { ASSERT(::IsWindow(m_hWnd)); return (DWORD)::SendMessage(m_hWnd, EM_GETMARGINS, 0, 0); }
  889. _AFXWIN_INLINE void CEdit::SetLimitText(UINT nMax)
  890.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETLIMITTEXT, nMax, 0); }
  891. _AFXWIN_INLINE UINT CEdit::GetLimitText() const
  892.     { ASSERT(::IsWindow(m_hWnd)); return (UINT)::SendMessage(m_hWnd, EM_GETLIMITTEXT, 0, 0); }
  893. _AFXWIN_INLINE CPoint CEdit::PosFromChar(UINT nChar) const
  894.     { ASSERT(::IsWindow(m_hWnd)); return CPoint( (DWORD)::SendMessage(m_hWnd, EM_POSFROMCHAR, nChar, 0)); }
  895. _AFXWIN_INLINE int CEdit::CharFromPos(CPoint pt) const
  896.     { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, EM_CHARFROMPOS, 0, MAKELPARAM(pt.x, pt.y)); }
  897. #endif
  898.  
  899. _AFXWIN_INLINE CScrollBar::CScrollBar()
  900.     { }
  901. _AFXWIN_INLINE int CScrollBar::GetScrollPos() const
  902.     { ASSERT(::IsWindow(m_hWnd)); return ::WCE_FCTN(GetScrollPos)(m_hWnd, SB_CTL); }
  903. _AFXWIN_INLINE int CScrollBar::SetScrollPos(int nPos, BOOL bRedraw)
  904.     { ASSERT(::IsWindow(m_hWnd)); return ::SetScrollPos(m_hWnd, SB_CTL, nPos, bRedraw); }
  905. _AFXWIN_INLINE void CScrollBar::GetScrollRange(LPINT lpMinPos, LPINT lpMaxPos) const
  906.     { ASSERT(::IsWindow(m_hWnd)); ::WCE_FCTN(GetScrollRange)(m_hWnd, SB_CTL, lpMinPos, lpMaxPos); }
  907. _AFXWIN_INLINE void CScrollBar::SetScrollRange(int nMinPos, int nMaxPos, BOOL bRedraw)
  908.     { ASSERT(::IsWindow(m_hWnd)); ::SetScrollRange(m_hWnd, SB_CTL, nMinPos, nMaxPos, bRedraw); }
  909. _AFXWIN_INLINE void CScrollBar::ShowScrollBar(BOOL bShow)
  910.     { ASSERT(::IsWindow(m_hWnd)); ::WCE_FCTN(ShowScrollBar)(m_hWnd, SB_CTL, bShow); }
  911. WCE_DEL _AFXWIN_INLINE BOOL CScrollBar::EnableScrollBar(UINT nArrowFlags)
  912. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return ::EnableScrollBar(m_hWnd, SB_CTL, nArrowFlags); }
  913. _AFXWIN_INLINE BOOL CScrollBar::SetScrollInfo(LPSCROLLINFO lpScrollInfo, BOOL bRedraw)
  914.     { return CWnd::SetScrollInfo(SB_CTL, lpScrollInfo, bRedraw); }
  915. _AFXWIN_INLINE BOOL CScrollBar::GetScrollInfo(LPSCROLLINFO lpScrollInfo, UINT nMask)
  916.     { return CWnd::GetScrollInfo(SB_CTL, lpScrollInfo, nMask); }
  917. _AFXWIN_INLINE int CScrollBar::GetScrollLimit()
  918.     { return CWnd::GetScrollLimit(SB_CTL); }
  919.  
  920. #if !defined(_WIN32_WCE)
  921. // MDI functions
  922. _AFXWIN_INLINE void CMDIFrameWnd::MDIActivate(CWnd* pWndActivate)
  923. { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWndMDIClient, WM_MDIACTIVATE,
  924.     (WPARAM)pWndActivate->m_hWnd, 0); }
  925. _AFXWIN_INLINE void CMDIFrameWnd::MDIIconArrange()
  926.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWndMDIClient, WM_MDIICONARRANGE, 0, 0); }
  927. _AFXWIN_INLINE void CMDIFrameWnd::MDIMaximize(CWnd* pWnd)
  928.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWndMDIClient, WM_MDIMAXIMIZE, (WPARAM)pWnd->m_hWnd, 0); }
  929. _AFXWIN_INLINE void CMDIFrameWnd::MDINext()
  930.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWndMDIClient, WM_MDINEXT, 0, 0); }
  931. _AFXWIN_INLINE void CMDIFrameWnd::MDIRestore(CWnd* pWnd)
  932.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWndMDIClient, WM_MDIRESTORE, (WPARAM)pWnd->m_hWnd, 0); }
  933. _AFXWIN_INLINE CMenu* CMDIFrameWnd::MDISetMenu(CMenu* pFrameMenu, CMenu* pWindowMenu)
  934.     { ASSERT(::IsWindow(m_hWnd)); return CMenu::FromHandle((HMENU)::SendMessage(
  935.     m_hWndMDIClient, WM_MDISETMENU, (WPARAM)pFrameMenu->GetSafeHmenu(),
  936.     (LPARAM)pWindowMenu->GetSafeHmenu())); }
  937. _AFXWIN_INLINE void CMDIFrameWnd::MDITile()
  938.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWndMDIClient, WM_MDITILE, 0, 0); }
  939. _AFXWIN_INLINE void CMDIFrameWnd::MDICascade()
  940.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWndMDIClient, WM_MDICASCADE, 0, 0); }
  941.  
  942. _AFXWIN_INLINE void CMDIFrameWnd::MDICascade(int nType)
  943.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWndMDIClient, WM_MDICASCADE, nType, 0); }
  944. _AFXWIN_INLINE void CMDIFrameWnd::MDITile(int nType)
  945.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWndMDIClient, WM_MDITILE, nType, 0); }
  946. _AFXWIN_INLINE void CMDIChildWnd::MDIDestroy()
  947.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(GetParent()->m_hWnd, WM_MDIDESTROY, (WPARAM)m_hWnd, 0L); }
  948. _AFXWIN_INLINE void CMDIChildWnd::MDIActivate()
  949.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(GetParent()->m_hWnd, WM_MDIACTIVATE, (WPARAM)m_hWnd, 0L); }
  950. _AFXWIN_INLINE void CMDIChildWnd::MDIMaximize()
  951.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(GetParent()->m_hWnd, WM_MDIMAXIMIZE, (WPARAM)m_hWnd, 0L); }
  952. _AFXWIN_INLINE void CMDIChildWnd::MDIRestore()
  953.     { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(GetParent()->m_hWnd, WM_MDIRESTORE, (WPARAM)m_hWnd, 0L); }
  954. #endif // _WIN32_WCE
  955.  
  956. // CView
  957. _AFXWIN_INLINE CDocument* CView::GetDocument() const
  958.     { ASSERT(this != NULL); return m_pDocument; }
  959. _AFXWIN_INLINE CSize CScrollView::GetTotalSize() const
  960.     { ASSERT(this != NULL); return m_totalLog; }
  961.  
  962. // CDocument
  963. _AFXWIN_INLINE const CString& CDocument::GetTitle() const
  964.     { ASSERT(this != NULL); return m_strTitle; }
  965. _AFXWIN_INLINE const CString& CDocument::GetPathName() const
  966.     { ASSERT(this != NULL); return m_strPathName; }
  967. _AFXWIN_INLINE CDocTemplate* CDocument::GetDocTemplate() const
  968.     { ASSERT(this != NULL); return m_pDocTemplate; }
  969. _AFXWIN_INLINE BOOL CDocument::IsModified()
  970.     { ASSERT(this != NULL); return m_bModified; }
  971. _AFXWIN_INLINE void CDocument::SetModifiedFlag(BOOL bModified)
  972.     { ASSERT(this != NULL); m_bModified = bModified; }
  973.  
  974. // CWinThread
  975. _AFXWIN_INLINE CWinThread::operator HANDLE() const
  976.     { return this == NULL ? NULL : m_hThread; }
  977. _AFXWIN_INLINE BOOL CWinThread::SetThreadPriority(int nPriority)
  978.     { ASSERT(m_hThread != NULL); return ::SetThreadPriority(m_hThread, nPriority); }
  979. _AFXWIN_INLINE int CWinThread::GetThreadPriority()
  980.     { ASSERT(m_hThread != NULL); return ::GetThreadPriority(m_hThread); }
  981. _AFXWIN_INLINE DWORD CWinThread::ResumeThread()
  982.     { ASSERT(m_hThread != NULL); return ::ResumeThread(m_hThread); }
  983. _AFXWIN_INLINE DWORD CWinThread::SuspendThread()
  984.     { ASSERT(m_hThread != NULL); return ::SuspendThread(m_hThread); }
  985. _AFXWIN_INLINE BOOL CWinThread::PostThreadMessage(UINT message, WPARAM wParam, LPARAM lParam)
  986.     { ASSERT(m_hThread != NULL); return ::PostThreadMessage(m_nThreadID, message, wParam, lParam); }
  987.  
  988. // CWinApp
  989. #if !defined(_WIN32_WCE_NO_CURSOR)
  990. _AFXWIN_INLINE HCURSOR CWinApp::LoadCursor(LPCTSTR lpszResourceName) const
  991.     { return ::WCE_FCTN(LoadCursor)(AfxFindResourceHandle(lpszResourceName,
  992.     RT_GROUP_CURSOR), lpszResourceName); }
  993. _AFXWIN_INLINE HCURSOR CWinApp::LoadCursor(UINT nIDResource) const
  994.     { return ::WCE_FCTN(LoadCursor)(AfxFindResourceHandle(MAKEINTRESOURCE(nIDResource),
  995.     RT_GROUP_CURSOR), MAKEINTRESOURCE(nIDResource)); }
  996. _AFXWIN_INLINE HCURSOR CWinApp::LoadStandardCursor(LPCTSTR lpszCursorName) const
  997.     { return ::WCE_FCTN(LoadCursor)(NULL, lpszCursorName); }
  998. #endif // _WIN32_WCE_NO_CURSOR
  999. WCE_DEL _AFXWIN_INLINE HCURSOR CWinApp::LoadOEMCursor(UINT nIDCursor) const
  1000. WCE_DEL { return ::LoadCursor(NULL, MAKEINTRESOURCE(nIDCursor)); }
  1001. _AFXWIN_INLINE HICON CWinApp::LoadIcon(LPCTSTR lpszResourceName) const
  1002.     { return ::LoadIcon(AfxFindResourceHandle(lpszResourceName,
  1003.         RT_GROUP_ICON), lpszResourceName); }
  1004. _AFXWIN_INLINE HICON CWinApp::LoadIcon(UINT nIDResource) const
  1005.     { return ::LoadIcon(AfxFindResourceHandle(MAKEINTRESOURCE(nIDResource),
  1006.         RT_GROUP_ICON), MAKEINTRESOURCE(nIDResource)); }
  1007. _AFXWIN_INLINE HICON CWinApp::LoadStandardIcon(LPCTSTR lpszIconName) const
  1008.     { return ::LoadIcon(NULL, lpszIconName); }
  1009. _AFXWIN_INLINE HICON CWinApp::LoadOEMIcon(UINT nIDIcon) const
  1010.     { return ::LoadIcon(NULL, MAKEINTRESOURCE(nIDIcon)); }
  1011.  
  1012. _AFXWIN_INLINE CWaitCursor::CWaitCursor()
  1013.     { AfxGetApp()->BeginWaitCursor(); }
  1014. _AFXWIN_INLINE CWaitCursor::~CWaitCursor()
  1015.     { AfxGetApp()->EndWaitCursor(); }
  1016. _AFXWIN_INLINE void CWaitCursor::Restore()
  1017.     { AfxGetApp()->RestoreWaitCursor(); }
  1018.  
  1019. /////////////////////////////////////////////////////////////////////////////
  1020. // Obsolete and non-portable
  1021.  
  1022. WCE_DEL _AFXWIN_INLINE void CWnd::CloseWindow()
  1023. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); ::CloseWindow(m_hWnd); }
  1024. WCE_DEL _AFXWIN_INLINE BOOL CWnd::OpenIcon()
  1025. WCE_DEL { ASSERT(::IsWindow(m_hWnd)); return ::OpenIcon(m_hWnd); }
  1026.  
  1027. /////////////////////////////////////////////////////////////////////////////
  1028.  
  1029. #endif //_AFXWIN_INLINE
  1030.