--- mstools/mfc/include/afxwin.inl 2018/08/09 18:21:00 1.1 +++ mstools/mfc/include/afxwin.inl 2018/08/09 18:22:43 1.1.1.2 @@ -40,7 +40,7 @@ inline CSize::CSize(POINT initPt) { *(POINT*)this = initPt; } inline CSize::CSize(DWORD dwSize) #ifdef _NTWIN - { cx = LOWORD(dwSize); cy = HIWORD(dwSize); } + { cx = (short)LOWORD(dwSize); cy = (short)HIWORD(dwSize); } #else { *(DWORD*)this = dwSize; } #endif @@ -68,7 +68,7 @@ inline CPoint::CPoint(SIZE initSize) { *(SIZE*)this = initSize; } inline CPoint::CPoint(DWORD dwPoint) #ifdef _NTWIN - { x = LOWORD(dwPoint); y = HIWORD(dwPoint); } + { x = (short)LOWORD(dwPoint); y = (short)HIWORD(dwPoint); } #else { *(DWORD*)this = dwPoint; } #endif @@ -376,7 +376,6 @@ inline HDC CDC::GetSafeHdc() const inline CDC::CDC() { m_hDC = NULL; } #ifdef _NTWIN -//REVIEW: NT Header file difference inline BOOL CDC::CreateDC(LPCSTR lpDriverName, LPCSTR lpDeviceName, LPCSTR lpOutput, const void FAR* lpInitData) @@ -386,7 +385,7 @@ inline BOOL CDC::CreateIC(LPCSTR lpDrive LPCSTR lpDeviceName, LPCSTR lpOutput, const void FAR* lpInitData) { return Attach(::CreateIC(lpDriverName, - lpDeviceName, lpOutput, (LPDEVMODE)lpInitData)); } + lpDeviceName, lpOutput, (const DEVMODE*)lpInitData)); } #else inline BOOL CDC::CreateIC(LPCSTR lpDriverName, LPCSTR lpDeviceName, LPCSTR lpOutput, @@ -760,11 +759,9 @@ inline CSize CDC::TabbedTextOut(int x, i int nTabPositions, LPINT lpnTabStopPositions, int nTabOrigin) { return ::TabbedTextOut(m_hDC, x, y, (LPSTR)lpString, nCount, nTabPositions, lpnTabStopPositions, nTabOrigin); } -//NTHACK inline int CDC::DrawText(LPCSTR lpString, int nCount, LPRECT lpRect, UINT nFormat) - { return ::DrawText(m_hDC, lpString, nCount, lpRect, - nFormat); } + { return ::DrawText(m_hDC, lpString, nCount, lpRect, nFormat); } inline CSize CDC::GetTextExtent(LPCSTR lpString, int nCount) const #ifdef _NTWIN { SIZE size; @@ -875,12 +872,11 @@ inline int CDC::EndDoc() // CDC 3.1 Specific functions #if (WINVER >= 0x030a) inline UINT CDC::SetBoundsRect(const RECT FAR* lpRectBounds, UINT flags) - { return ::SetBoundsRect(m_hDC, (LPRECT)lpRectBounds, flags); } //NTHACK + { return ::SetBoundsRect(m_hDC, lpRectBounds, flags); } inline UINT CDC::GetBoundsRect(LPRECT lpRectBounds, UINT flags) { return ::GetBoundsRect(m_hDC, lpRectBounds, flags); } inline UINT CDC::GetOutlineTextMetrics(UINT cbData, OUTLINETEXTMETRIC FAR* lpotm) const - // REVIEW: NT header file difference - { return (UINT)::GetOutlineTextMetrics(m_hDC, cbData, lpotm); } + { return ::GetOutlineTextMetrics(m_hDC, cbData, lpotm); } inline BOOL CDC::GetCharABCWidths(UINT nFirst, UINT nLast, LPABC lpabc) const { return ::GetCharABCWidths(m_hDC, nFirst, nLast, lpabc); } inline DWORD CDC::GetFontData(DWORD dwTable, DWORD dwOffset, LPVOID lpData, @@ -891,7 +887,7 @@ inline int CDC::GetKerningPairs(int nPai inline DWORD CDC::GetGlyphOutline(UINT nChar, UINT nFormat, GLYPHMETRICS FAR* lpgm, DWORD cbBuffer, void FAR* lpBuffer, const MAT2 FAR* lpmat2) const { return ::GetGlyphOutline(m_hDC, nChar, nFormat, - lpgm, cbBuffer, lpBuffer, (MAT2*)lpmat2); } //NTHACK + lpgm, cbBuffer, lpBuffer, lpmat2); } #endif /* WINVER >= 0x030a */ // CMetaFileDC inline functions @@ -923,10 +919,13 @@ inline BOOL CMenu::AppendMenu(UINT nFlag { return ::AppendMenu(m_hMenu, nFlags, nIDNewItem, lpNewItem); } inline BOOL CMenu::AppendMenu(UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp) { return ::AppendMenu(m_hMenu, nFlags | MF_BITMAP, nIDNewItem, +#ifndef _NTWIN MAKEINTRESOURCE(pBmp->m_hObject)); } +#else + (LPCSTR)pBmp->m_hObject); } +#endif inline BOOL CMenu::CheckMenuItem(UINT nIDCheckItem, UINT nCheck) - //REVIEW: NT header file difference - { return (BOOL)::CheckMenuItem(m_hMenu, nIDCheckItem, nCheck); } + { return ::CheckMenuItem(m_hMenu, nIDCheckItem, nCheck); } inline BOOL CMenu::EnableMenuItem(UINT nIDEnableItem, UINT nEnable) { return ::EnableMenuItem(m_hMenu, nIDEnableItem, nEnable); } inline UINT CMenu::GetMenuItemCount() const @@ -943,11 +942,21 @@ inline BOOL CMenu::InsertMenu(UINT nPosi LPCSTR lpNewItem /* = NULL */) { return ::InsertMenu(m_hMenu, nPosition, nFlags, nIDNewItem, lpNewItem); } inline BOOL CMenu::InsertMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp) - { return ::InsertMenu(m_hMenu, nPosition, nFlags | MF_BITMAP, nIDNewItem, MAKEINTRESOURCE(pBmp->m_hObject)); } + { return ::InsertMenu(m_hMenu, nPosition, nFlags | MF_BITMAP, nIDNewItem, +#ifndef _NTWIN + MAKEINTRESOURCE(pBmp->m_hObject)); } +#else + (LPCSTR)pBmp->m_hObject); } +#endif inline BOOL CMenu::ModifyMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem /* = 0 */, LPCSTR lpNewItem /* = NULL */) { return ::ModifyMenu(m_hMenu, nPosition, nFlags, nIDNewItem, lpNewItem); } inline BOOL CMenu::ModifyMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp) - { return ::ModifyMenu(m_hMenu, nPosition, nFlags | MF_BITMAP, nIDNewItem, MAKEINTRESOURCE(pBmp->m_hObject)); } + { return ::ModifyMenu(m_hMenu, nPosition, nFlags | MF_BITMAP, nIDNewItem, +#ifndef _NTWIN + MAKEINTRESOURCE(pBmp->m_hObject)); } +#else + (LPCSTR)pBmp->m_hObject); } +#endif inline BOOL CMenu::RemoveMenu(UINT nPosition, UINT nFlags) { return ::RemoveMenu(m_hMenu, nPosition, nFlags); } inline BOOL CMenu::SetMenuItemBitmaps(UINT nPosition, UINT nFlags, @@ -961,7 +970,7 @@ inline BOOL CMenu::LoadMenu(UINT nIDMenu { return Attach(::LoadMenu(AfxGetResourceHandle(), MAKEINTRESOURCE(nIDMenu))); } inline BOOL CMenu::LoadMenuIndirect(const void FAR* lpMenuTemplate) - { return Attach(::LoadMenuIndirect((LPVOID)lpMenuTemplate)); } //NTHACK + { return Attach(::LoadMenuIndirect(lpMenuTemplate)); } inline BOOL CMenu::TrackPopupMenu(UINT nFlags, int x, int y, const CWnd* pWnd, const RECT FAR* lpRect) { return ::TrackPopupMenu(m_hMenu, nFlags, x, y, 0, pWnd->m_hWnd, @@ -1040,7 +1049,7 @@ inline void CWnd::GetClientRect(LPRECT l inline BOOL CWnd::GetWindowPlacement(WINDOWPLACEMENT FAR* lpwndpl) const { return ::GetWindowPlacement(m_hWnd, lpwndpl); } inline BOOL CWnd::SetWindowPlacement(const WINDOWPLACEMENT FAR* lpwndpl) - { return ::SetWindowPlacement(m_hWnd, (WINDOWPLACEMENT*)lpwndpl); } //NTHACK + { return ::SetWindowPlacement(m_hWnd, lpwndpl); } inline void CWnd::MapWindowPoints(CWnd* pwndTo, LPPOINT lpPoint, UINT nCount) const { ::MapWindowPoints(m_hWnd, pwndTo->GetSafeHwnd(), lpPoint, nCount); } inline void CWnd::MapWindowPoints(CWnd* pwndTo, LPRECT lpRect) const @@ -1652,6 +1661,16 @@ inline void CEdit::GetRect(LPRECT lpRect { ::SendMessage(m_hWnd, EM_GETRECT, 0, (LONG)lpRect); } inline DWORD CEdit::GetSel() const { return ::SendMessage(m_hWnd, EM_GETSEL, 0, 0); } +inline void CEdit::GetSel(int& nStartChar, int& nEndChar) const +#ifdef _NTWIN + { ::SendMessage(m_hWnd, EM_GETSEL, (WPARAM)&nStartChar,(LPARAM)&nEndChar); } +#else + { + DWORD dwSel = (DWORD)::SendMessage(m_hWnd, EM_GETSEL, 0, 0); + nStartChar = (int)LOWORD(dwSel); + nEndChar = (int)HIWORD(dwSel); + } +#endif inline HANDLE CEdit::GetHandle() const { return (HANDLE)::SendMessage(m_hWnd, EM_GETHANDLE, 0, 0); } inline void CEdit::SetHandle(HANDLE hBuffer)