windows-nt/Source/XPSP1/NT/printscan/ui/inc/pviewids.h
2020-09-26 16:20:57 +08:00

438 lines
14 KiB
C

/*******************************************************************************
*
* (C) COPYRIGHT MICROSOFT CORPORATION, 1998
*
* TITLE: PVIEWIDS.H
*
* VERSION: 1.0
*
* AUTHOR: ShaunIv
*
* DATE: 8/12/1999
*
* DESCRIPTION: Message and other constants used by the preview control
*
*******************************************************************************/
#ifndef __PVIEWIDS_H_INCLUDED
#define __PVIEWIDS_H_INCLUDED
#ifdef __cplusplus
extern "C" {
#endif
#define IDC_INNER_PREVIEW_WINDOW 23401
void WINAPI RegisterWiaPreviewClasses( HINSTANCE hInstance );
/**************************************************************
*
* Window class names
*
**************************************************************/
#define PREVIEW_WINDOW_CLASSW L"WiaPreviewControl"
#define PREVIEW_WINDOW_CLASSA "WiaPreviewControl"
#define PREVIEW_WINDOW_FRAME_CLASSW L"WiaPreviewControlFrame"
#define PREVIEW_WINDOW_FRAME_CLASSA "WiaPreviewControlFrame"
#if defined(UNICODE) || defined(_UNICODE)
#define PREVIEW_WINDOW_CLASS PREVIEW_WINDOW_CLASSW
#define PREVIEW_WINDOW_FRAME_CLASS PREVIEW_WINDOW_FRAME_CLASSW
#else
#define PREVIEW_WINDOW_CLASS PREVIEW_WINDOW_CLASSA
#define PREVIEW_WINDOW_FRAME_CLASS PREVIEW_WINDOW_FRAME_CLASSA
#endif
/**************************************************************
*
* Notification codes, sent via WM_COMMAND
*
**************************************************************/
#define PWN_SELCHANGE 1
/**************************************************************
*
* Messages and flags
*
**************************************************************/
//wParam = 0, lParam = LPSIZE lpResolution
#define PWM_SETRESOLUTION (WM_USER+601)
//wParam = 0, lParam = 0
#define PWM_CLEARSELECTION (WM_USER+602)
//wParam = 0, lParam = LPSIZE pSize
#define PWM_GETIMAGESIZE (WM_USER+603)
// wParam = MAKEWPARAM(bRepaint,bDontDestroy), lParam = (HBITMAP)hBmp
#define PWM_SETBITMAP (WM_USER+604)
// wParam = 0, lParam = 0
#define PWM_GETBITMAP (WM_USER+605)
// wParam = 0, lParam = LPSIZE lpResolution
#define PWM_GETRESOLUTION (WM_USER+606)
// wParam = bOuter, lParam = 0
#define PWM_GETBORDERSIZE (WM_USER+607)
// wParam = 0, lParam = 0
#define PWM_GETHANDLESIZE (WM_USER+608)
// wParam = 0, lParam = 0
#define PWM_GETBGALPHA (WM_USER+609)
// wParam = 0, lParam = 0
#define PWM_GETHANDLETYPE (WM_USER+610)
// wParam = (BOOL)MAKEWPARAM(bRepaint,bOuter), lParam = (UINT)nBorderSize
#define PWM_SETBORDERSIZE (WM_USER+611)
// wParam = (BOOL)bRepaint, lParam = (UINT)nHandleSize
#define PWM_SETHANDLESIZE (WM_USER+612)
// wParam = (BOOL)bRepaint, lParam = (BYTE)nAlpha
#define PWM_SETBGALPHA (WM_USER+613)
#define PREVIEW_WINDOW_SQUAREHANDLES 0x00000000
#define PREVIEW_WINDOW_ROUNDHANDLES 0x00000001
#define PREVIEW_WINDOW_FILLEDHANDLES 0x00000000
#define PREVIEW_WINDOW_HOLLOWHANDLES 0x00010000
// wParam = (BOOL)bRepaint, lParam = (int)nHandleType
#define PWM_SETHANDLETYPE (WM_USER+614)
// wParam = 0, lParam = 0
#define PWM_GETSELCOUNT (WM_USER+615)
// wParam = (BOOL)MAKEWPARAM((WORD)nItem,(BOOL)bPhysical), lParam = (PPOINT)pOrigin
#define PWM_GETSELORIGIN (WM_USER+616)
// wParam = (BOOL)MAKEWPARAM((WORD)nItem,(BOOL)bPhysical), lParam = (PSIZE)pExtent
#define PWM_GETSELEXTENT (WM_USER+617)
// wParam = 0, lParam = 0
#define PWM_GETALLOWNULLSELECTION (WM_USER+618)
// wParam = (BOOL)bAllowNullSelection, lParam = 0
#define PWM_SETALLOWNULLSELECTION (WM_USER+619)
// wParam = 0, lParam = 0
#define PWM_SELECTIONDISABLED (WM_USER+620)
// wParam = (BOOL)bDisableSelection, lParam = 0
#define PWM_DISABLESELECTION (WM_USER+621)
// wParam = 0, lParam = 0
#define PWM_DETECTREGIONS (WM_USER+622)
// wParam = MAKEWPARAM(bOuterBorder,0), lParam = 0
#define PWM_GETBKCOLOR (WM_USER+623)
// wParam = MAKEWPARAM(bOuterBorder,bRepaint), lParam = (COLORREF)color
#define PWM_SETBKCOLOR (WM_USER+624)
// wParam = 0, lParam = (LPSIZE)pSize
#define PWM_SETDEFASPECTRATIO (WM_USER+625)
// wParam = 0, lParam = (BOOL)bPreviewMode
#define PWM_SETPREVIEWMODE (WM_USER+626)
// wParam = 0, lParam = 0
#define PWM_GETPREVIEWMODE (WM_USER+627)
// wParam = MAKEWPARAM(bRepaint,0), lParam = MAKELPARAM(nBorderStyle,nBorderThickness)
#define PWM_SETBORDERSTYLE (WM_USER+628)
#define PREVIEW_WINDOW_SELECTED 0x00000000
#define PREVIEW_WINDOW_UNSELECTED 0x00000001
#define PREVIEW_WINDOW_DISABLED 0x00000002
// wParam = MAKEWPARAM(bRepaint,nState), lParam = (COLORREF)crColor
#define PWM_SETBORDERCOLOR (WM_USER+629)
// wParam = MAKEWPARAM(bRepaint,nState), lParam = (COLORREF)crColor
#define PWM_SETHANDLECOLOR (WM_USER+630)
// wParam = 0, lParam = (SIZE *)psizeClient
#define PWM_GETCLIENTSIZE (WM_USER+631)
// wParam = 0, lParam = BOOL bEnable
#define PWM_SETENABLESTRETCH (WM_USER+632)
// wParam = 0, lParam = 0
#define PWM_GETENABLESTRETCH (WM_USER+633)
// wParam = 0, lParam = bHide
#define PWM_HIDEEMPTYPREVIEW (WM_USER+634)
#define PREVIEW_WINDOW_CENTER 0x0000
#define PREVIEW_WINDOW_RIGHT 0x0001
#define PREVIEW_WINDOW_LEFT 0x0002
#define PREVIEW_WINDOW_TOP 0x0004
#define PREVIEW_WINDOW_BOTTOM 0x0008
// wParam = bRedraw, lParam = MAKELPARAM(horz,vert)
#define PWM_SETPREVIEWALIGNMENT (WM_USER+635)
// wParam = (BOOL)MAKEWPARAM((WORD)nItem,(BOOL)bPhysical), lParam = (PPOINT)pOrigin
#define PWM_SETSELORIGIN (WM_USER+636)
// wParam = (BOOL)MAKEWPARAM((WORD)nItem,(BOOL)bPhysical), lParam = (PSIZE)pExtent
#define PWM_SETSELEXTENT (WM_USER+637)
// wParam = 0, LPARAM = 0
#define PWM_REFRESHBITMAP (WM_USER+638)
//
// wParam = bShow, lParam = 0
//
#define PWM_SETPROGRESS (WM_USER+639)
//
// wParam = 0, lParam = 0
//
#define PWM_GETPROGRESS (WM_USER+640)
//
// wParam = BOOL bUserChanged, lParam = 0
//
#define PWM_SETUSERCHANGEDSELECTION (WM_USER+641)
//
// wParam = 0, lParam = 0
//
#define PWM_GETUSERCHANGEDSELECTION (WM_USER+642)
/**************************************************************
*
* inline WINAPI message wrapper helpers
*
**************************************************************/
#ifdef __cplusplus // C doesn't know what inline WINAPI is...
inline void WINAPI WiaPreviewControl_SetResolution( HWND hWnd, SIZE *pResolution)
{
::SendMessage( hWnd, PWM_SETRESOLUTION, 0, reinterpret_cast<LPARAM>(pResolution) );
}
inline void WINAPI WiaPreviewControl_ClearSelection( HWND hWnd )
{
::SendMessage( hWnd, PWM_CLEARSELECTION, 0, 0 );
}
inline BOOL WINAPI WiaPreviewControl_GetImageSize( HWND hWnd, SIZE *pSize )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_GETIMAGESIZE, 0, reinterpret_cast<LPARAM>(pSize)));
}
inline void WINAPI WiaPreviewControl_SetBitmap( HWND hWnd, BOOL bRepaint, BOOL bDontDestroy, HBITMAP hBitmap )
{
::SendMessage( hWnd, PWM_SETBITMAP, MAKEWPARAM(bRepaint,bDontDestroy), reinterpret_cast<LPARAM>(hBitmap) );
}
inline HBITMAP WINAPI WiaPreviewControl_GetBitmap( HWND hWnd )
{
return reinterpret_cast<HBITMAP>(::SendMessage( hWnd, PWM_GETBITMAP, 0, 0 ));
}
inline BOOL WINAPI WiaPreviewControl_GetResolution( HWND hWnd, SIZE *pResolution )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_GETRESOLUTION, 0, reinterpret_cast<LPARAM>(pResolution)));
}
inline UINT WINAPI WiaPreviewControl_GetBorderSize( HWND hWnd, BOOL bOuter )
{
return static_cast<UINT>(::SendMessage( hWnd, PWM_GETBORDERSIZE, bOuter, 0 ));
}
inline UINT WINAPI WiaPreviewControl_GetHandleSize( HWND hWnd )
{
return static_cast<UINT>(::SendMessage( hWnd, PWM_GETHANDLESIZE, 0, 0 ));
}
inline BYTE WINAPI WiaPreviewControl_GetBgAlpha( HWND hWnd )
{
return static_cast<BYTE>(::SendMessage( hWnd, PWM_GETBGALPHA, 0, 0 ));
}
inline int WINAPI WiaPreviewControl_GetHandleType( HWND hWnd )
{
return static_cast<int>(::SendMessage( hWnd, PWM_GETHANDLETYPE, 0, 0 ));
}
inline void WINAPI WiaPreviewControl_SetBorderSize( HWND hWnd, BOOL bRepaint, BOOL bOuter, UINT nBorderSize )
{
::SendMessage( hWnd, PWM_SETBORDERSIZE, MAKEWPARAM(bRepaint,bOuter), nBorderSize );
}
inline void WINAPI WiaPreviewControl_SetHandleSize( HWND hWnd, BOOL bRepaint, UINT nHandleSize )
{
::SendMessage( hWnd, PWM_SETHANDLESIZE, bRepaint, nHandleSize );
}
inline void WINAPI WiaPreviewControl_SetBgAlpha( HWND hWnd, BOOL bRepaint, BYTE nAlpha )
{
::SendMessage( hWnd, PWM_SETBGALPHA, bRepaint, nAlpha );
}
inline void WINAPI WiaPreviewControl_SetHandleType( HWND hWnd, BOOL bRepaint, int nHandleType )
{
::SendMessage( hWnd, PWM_SETHANDLETYPE, bRepaint, nHandleType );
}
inline WORD WINAPI WiaPreviewControl_GetSelCount( HWND hWnd )
{
return static_cast<WORD>(::SendMessage( hWnd, PWM_GETSELCOUNT, 0, 0 ));
}
inline BOOL WINAPI WiaPreviewControl_GetSelOrigin( HWND hWnd, WORD nItem, BOOL bPhysical, POINT *pOrigin )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_GETSELORIGIN, MAKEWPARAM(nItem,bPhysical), reinterpret_cast<LPARAM>(pOrigin)));
}
inline BOOL WINAPI WiaPreviewControl_GetSelExtent( HWND hWnd, WORD nItem, BOOL bPhysical, SIZE *pExtent )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_GETSELEXTENT, MAKEWPARAM(nItem,bPhysical), reinterpret_cast<LPARAM>(pExtent)));
}
inline BOOL WINAPI WiaPreviewControl_SetSelOrigin( HWND hWnd, WORD nItem, BOOL bPhysical, POINT *pOrigin )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_SETSELORIGIN, MAKEWPARAM(nItem,bPhysical), reinterpret_cast<LPARAM>(pOrigin)));
}
inline BOOL WINAPI WiaPreviewControl_SetSelExtent( HWND hWnd, WORD nItem, BOOL bPhysical, SIZE *pExtent )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_SETSELEXTENT, MAKEWPARAM(nItem,bPhysical), reinterpret_cast<LPARAM>(pExtent)));
}
inline BOOL WINAPI WiaPreviewControl_NullSelectionAllowed( HWND hWnd )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_GETALLOWNULLSELECTION, 0, 0 ));
}
inline void WINAPI WiaPreviewControl_AllowNullSelection( HWND hWnd, BOOL bAllowNullSelection )
{
::SendMessage( hWnd, PWM_SETALLOWNULLSELECTION, bAllowNullSelection, 0 );
}
inline BOOL WINAPI WiaPreviewControl_SelectionDisabled( HWND hWnd )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_SELECTIONDISABLED, 0, 0 ));
}
inline void WINAPI WiaPreviewControl_DisableSelection( HWND hWnd, BOOL bDisableSelection )
{
::SendMessage( hWnd, PWM_DISABLESELECTION, bDisableSelection, 0 );
}
inline BOOL WINAPI WiaPreviewControl_DetectRegions( HWND hWnd )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_DETECTREGIONS, 0, 0 ));
}
inline COLORREF WINAPI WiaPreviewControl_GetBkColor( HWND hWnd, BOOL bOuterBorder )
{
return static_cast<COLORREF>(::SendMessage( hWnd, PWM_GETBKCOLOR, MAKEWPARAM(bOuterBorder,0), 0 ));
}
inline void WINAPI WiaPreviewControl_SetBkColor( HWND hWnd, BOOL bRepaint, BOOL bOuterBorder, COLORREF color )
{
::SendMessage( hWnd, PWM_SETBKCOLOR, MAKEWPARAM(bOuterBorder,bRepaint), color );
}
inline void WINAPI WiaPreviewControl_SetDefAspectRatio( HWND hWnd, SIZE *pAspectRatio )
{
::SendMessage( hWnd, PWM_SETDEFASPECTRATIO, 0, reinterpret_cast<LPARAM>(pAspectRatio) );
}
inline void WINAPI WiaPreviewControl_SetPreviewMode( HWND hWnd, BOOL bPreviewMode )
{
::SendMessage( hWnd, PWM_SETPREVIEWMODE, 0, static_cast<LPARAM>(bPreviewMode) );
}
inline BOOL WINAPI WiaPreviewControl_GetPreviewMode( HWND hWnd )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_GETPREVIEWMODE, 0, 0 ));
}
inline void WINAPI WiaPreviewControl_SetBorderStyle( HWND hWnd, BOOL bRepaint, WORD nBorderStyle, WORD nBorderThickness )
{
::SendMessage( hWnd, PWM_SETBORDERSTYLE, MAKEWPARAM(bRepaint,0), MAKELPARAM(nBorderStyle,nBorderThickness) );
}
inline void WINAPI WiaPreviewControl_SetBorderColor( HWND hWnd, BOOL bRepaint, WORD nState, COLORREF crColor )
{
::SendMessage( hWnd, PWM_SETBORDERCOLOR, MAKEWPARAM(bRepaint,nState), static_cast<LPARAM>(crColor) );
}
inline void WINAPI WiaPreviewControl_SetHandleColor( HWND hWnd, BOOL bRepaint, WORD nState, COLORREF crColor )
{
::SendMessage( hWnd, PWM_SETHANDLECOLOR, MAKEWPARAM(bRepaint,nState), static_cast<LPARAM>(crColor) );
}
inline BOOL WINAPI WiaPreviewControl_GetClientSize( HWND hWnd, SIZE *psizeClient )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_GETCLIENTSIZE, 0, reinterpret_cast<LPARAM>(psizeClient) ) );
}
inline BOOL WINAPI WiaPreviewControl_GetEnableStretch( HWND hWnd )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_GETENABLESTRETCH, 0, 0 ) );
}
inline void WINAPI WiaPreviewControl_SetEnableStretch( HWND hWnd, BOOL bEnable )
{
::SendMessage( hWnd, PWM_SETENABLESTRETCH, 0, bEnable );
}
inline void WINAPI WiaPreviewControl_HideEmptyPreview( HWND hWnd, BOOL bHide )
{
::SendMessage( hWnd, PWM_HIDEEMPTYPREVIEW, 0, bHide );
}
inline void WINAPI WiaPreviewControl_SetPreviewAlignment( HWND hWnd, WORD fHorizontal, WORD fVertical, BOOL bRepaint )
{
::SendMessage( hWnd, PWM_SETPREVIEWALIGNMENT, bRepaint, MAKELPARAM(fHorizontal,fVertical) );
}
inline void WINAPI WiaPreviewControl_RefreshBitmap( HWND hWnd )
{
::SendMessage( hWnd, PWM_REFRESHBITMAP, 0, 0 );
}
inline BOOL WINAPI WiaPreviewControl_SetProgress( HWND hWnd, BOOL bSet )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_SETPROGRESS, bSet, 0 ) );
}
inline BOOL WINAPI WiaPreviewControl_GetProgress( HWND hWnd )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_GETPROGRESS, 0, 0 ) );
}
inline BOOL WINAPI WiaPreviewControl_GetUserChangedSelection( HWND hWnd )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_GETUSERCHANGEDSELECTION, 0, 0 ) );
}
inline BOOL WINAPI WiaPreviewControl_SetUserChangedSelection( HWND hWnd, BOOL bUserChangedSelection )
{
return static_cast<BOOL>(::SendMessage( hWnd, PWM_SETUSERCHANGEDSELECTION, bUserChangedSelection, 0 ) );
}
#endif // __cplusplus
#ifdef __cplusplus
}
#endif
#endif // __PVIEWIDS_H_INCLUDED