
/***************************************************************************
**
**    $Header:   D:/ECB2S/SRC/LOG/TABVBMFC.H__   1.2.1.4   17 Apr 1997 16:06:22   ZJRD  $
**
**    $Log:   D:/ECB2S/SRC/LOG/TABVBMFC.H__  $
** 
**    Rev 1.2.1.4   17 Apr 1997 16:06:22   ZJRD
** No change.
** 
**    Rev 1.2.1.3   16 Apr 1997 10:41:22   ZJRD
** No change.
** 
**    Rev 1.2.1.2   10 Apr 1997 15:47:22   ZJRD
** No change.
** 
**    Rev 1.2.1.1   03 Apr 1997 15:26:30   ZJRD
** No change.
** 
**    Rev 1.2.1.0   28 Mar 1997 10:29:48   ZJRD
** easy pack sld 2.09d
** 
**    Rev 1.1   19 Mar 1997 11:39:10   ZJRD
** No change.
** 
**    Rev 1.0   12 Mar 1997 14:52:28   ZJRD
** Initial revision.
** 
**    Rev 1.7.1.0.1.2   09 Dec 1996 10:16:18   ZJRD
** EasyPack/SLD Version 2.0P
** 
**    Rev 1.7.1.0.1.0   11 Nov 1996 12:59:34   ZJRD
** EasyPack/SLD Version 2.01
** 
**    Rev 1.7.1.4   09 Sep 1996 13:18:36   ZJRD
** No change.
** 
**    Rev 1.7.1.3   05 Sep 1996 11:30:08   ZJRD
** No change.
** 
**    Rev 1.7.1.2   02 Sep 1996 09:57:12   ZJRD
** No change.
** 
**    Rev 1.7.1.1   28 Aug 1996 15:51:42   ZJRD
** No change.
** 
**    Rev 1.7.1.0   12 Aug 1996 10:55:16   ZJRD
** EasyPack/SLD Version 1.98
** 
**    Rev 1.5   05 Jun 1996 14:58:20   ZJRD
** No change.
** 
**    Rev 1.4   29 May 1996 09:29:04   ZJRD
** No change.
** 
**    Rev 1.3   16 May 1996 09:06:20   ZJRD
** No change.
** 
**    Rev 1.2   10 May 1996 09:10:48   ZJRD
** No change.
** 
**    Rev 1.1   02 May 1996 10:28:26   ZJRD
** EasyPack/SLD Version 1.92
** 
**    Rev 1.31   18 Apr 1996 12:59:22   Shirley
** No change.
** 
**    Rev 1.30   12 Apr 1996 10:39:28   Shirley
** EasyPack/SLD Version 1.90
** 
**    Rev 1.28   15 Feb 1996 08:53:06   Shirley
** No change.
** 
**    Rev 1.27   12 Feb 1996 14:09:52   Shirley
** No change.
** 
**    Rev 1.26   06 Feb 1996 15:36:14   Shirley
** No change.
** 
**    Rev 1.25   06 Feb 1996 13:50:32   Shirley
** No change.
** 
**    Rev 1.24   01 Feb 1996 10:11:46   Shirley
** No change.
** 
**    Rev 1.23   26 Jan 1996 09:14:50   Shirley
** No change.
** 
**    Rev 1.22   25 Jan 1996 13:14:42   Shirley
** No change.
** 
**    Rev 1.21   24 Jan 1996 10:40:00   Shirley
** No change.
** 
**    Rev 1.20   23 Jan 1996 11:29:42   Shirley
** No change.
** 
**    Rev 1.19   18 Jan 1996 10:14:32   Shirley
** No change.
** 
**    Rev 1.18   15 Jan 1996 16:13:56   Shirley
** No change.
** 
**    Rev 1.17   04 Jan 1996 11:08:18   Shirley
** No change.
** 
**    Rev 1.16   30 Nov 1995 09:10:50   Shirley
** No change.
** 
**    Rev 1.15   28 Nov 1995 15:30:00   Shirley
** No change.
** 
**    Rev 1.14   21 Nov 1995 11:19:34   Shirley
** No change.
** 
**    Rev 1.13   13 Nov 1995 09:22:16   Shirley
** No change.
** 
**    Rev 1.12   12 Nov 1995 11:33:50   Shirley
** No change.
** 
**    Rev 1.11   08 Nov 1995 16:28:54   Shirley
** No change.
** 
**    Rev 1.10   08 Nov 1995 12:41:28   Shirley
** No change.
** 
**    Rev 1.9   02 Nov 1995 10:03:26   Shirley
** No change.
** 
**    Rev 1.8   27 Oct 1995 16:46:36   Shirley
** No change.
** 
**    Rev 1.7   27 Oct 1995 13:45:38   Shirley
** No change.
** 
**    Rev 1.6   25 Oct 1995 14:27:12   Shirley
** No change.
** 
**    Rev 1.5   18 Oct 1995 14:51:20   Shirley
** No change.
** 
**    Rev 1.4   13 Oct 1995 13:20:44   Shirley
** No change.
** 
**    Rev 1.3   29 Sep 1995 09:51:30   Shirley
** No change.
** 
**    Rev 1.2   20 Sep 1995 10:54:32   Shirley
** No change.
** 
**    Rev 1.1   15 Sep 1995 09:49:02   Shirley
** No change.
** 
**    Rev 1.0   07 Sep 1995 09:54:10   Shirley
** Initial revision.
**
****************************************************************************/

//----------------------------------------------------------
//
// File: TABVBMSC.H
//
// Copyright (C) 1994 FarPoint Technologies.
// All rights reserved.
//
//----------------------------------------------------------

#ifndef _TABVBMSC_H
#define _TABVBMSC_H

#ifndef AFX_NUM_EVENTPARAM

//  The following defines are from MFC Tech Note 27
#define AFX_NUM_EVENTPARAM(type, lpParams) \
    (type FAR&)(**(type FAR* FAR*)lpParams)
#define AFX_HLSTR_EVENTPARAM(lpParams) \
    (HLSTR FAR&)(*(HLSTR FAR*)lpParams)
#define AFX_NUM_EVENTPARAMINDEX(type, lpParams, index) \
    (type FAR&)(**((type FAR* FAR*)(lpParams) + index))
#define AFX_HLSTR_EVENTPARAMINDEX(lpParams, index) \
    (HLSTR FAR&)(*((HLSTR FAR*)(lpParams) + index))

#endif

// Class representing fpVBTabPro11 control in TABPRO11.VBX file

class CTab : public CVBControl
{
  public:

    BOOL Create(DWORD dwStyle, const RECT& rect,
                CWnd* pParentWnd, UINT nID,
                CFile* pFile = NULL, BOOL bAutoDelete = FALSE)
    {
      return CVBControl::Create(
               "TABPRO11.VBX;fpVBTabPro11;",
               dwStyle, rect,
               pParentWnd, nID,
               pFile, bAutoDelete
             );
    }

    int GetActivePage() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_ActivePage, 0L); }
    int GetActiveTab() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_ActiveTab, 0L); }
    BOOL GetActiveTabBold() 
      { return (BOOL)SendMessage(TABM_GETPROPERTY, TABPROP_ActiveTabBold, 0L); }
    short GetAlignPictureH() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_AlignPictureH, 0L); }
    short GetAlignPictureV() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_AlignPictureV, 0L); }
    short GetAlignTextH() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_AlignTextH, 0L); }
    short GetAlignTextV() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_AlignTextV, 0L); }
    BOOL GetAllowPreview() 
      { return (BOOL)SendMessage(TABM_GETPROPERTY, TABPROP_AllowPreview, 0L); }
    short GetAllowScroll() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_AllowScroll, 0L); }
    short GetApplyTo() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_ApplyTo, 0L); }
    short GetAutoSize() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_AutoSize, 0L); }
    int GetAutoSizeOffsetBottom() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_AutoSizeOffsetBottom, 0L); }
    int GetAutoSizeOffsetLeft() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_AutoSizeOffsetLeft, 0L); }
    int GetAutoSizeOffsetRight() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_AutoSizeOffsetRight, 0L); }
    int GetAutoSizeOffsetTop() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_AutoSizeOffsetTop, 0L); }
    COLORREF GetBackColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_BackColor, 0L); }
    COLORREF GetBookColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_BookColor, 0L); }
    COLORREF GetBookCornerGuardColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_BookCornerGuardColor, 0L); }
    COLORREF GetBookCornerGuardColorDark() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_BookCornerGuardColorDark, 0L); }
    COLORREF GetBookCornerGuardColorLight() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_BookCornerGuardColorLight, 0L); }
    int GetBookCornerGuardLength() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookCornerGuardLength, 0L); }
    int GetBookCornerGuardWidth() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookCornerGuardWidth, 0L); }
    int GetBookCornerHeight() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookCornerHeight, 0L); }
    short GetBookCornerType() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_BookCornerType, 0L); }
    int GetBookCornerWidth() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookCornerWidth, 0L); }
    short GetBookCoverStyle() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_BookCoverStyle, 0L); }
    COLORREF GetBookCreaseColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_BookCreaseColor, 0L); }
    short GetBookCreaseType() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_BookCreaseType, 0L); }
    int GetBookDoubleWireMargin() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookDoubleWireMargin, 0L); }
    int GetBookGutter() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookGutter, 0L); }
    int GetBookMarginH() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookMarginH, 0L); }
    int GetBookMarginV() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookMarginV, 0L); }
    COLORREF GetBookMetalSpineColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_BookMetalSpineColor, 0L); }
    COLORREF GetBookMetalSpineOutlineColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_BookMetalSpineOutlineColor, 0L); }
    short GetBookModeType() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_BookModeType, 0L); }
    int GetBookRingArc() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookRingArc, 0L); }
    COLORREF GetBookRingColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_BookRingColor, 0L); }
    COLORREF GetBookRingColorLight() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_BookRingColorLight, 0L); }
    COLORREF GetBookRingColorOutline() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_BookRingColorOutline, 0L); }
    int GetBookRingCount() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookRingCount, 0L); }
    int GetBookRingGroupCount() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookRingGroupCount, 0L); }
    int GetBookRingLength() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookRingLength, 0L); }
    int GetBookRingMargin() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookRingMargin, 0L); }
    int GetBookRingOutsideMargin() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookRingOutsideMargin, 0L); }
    BOOL GetBookRingShowHole() 
      { return (BOOL)SendMessage(TABM_GETPROPERTY, TABPROP_BookRingShowHole, 0L); }
    short GetBookRingType() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_BookRingType, 0L); }
    int GetBookRingWidth() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookRingWidth, 0L); }
    COLORREF GetBookShadowColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_BookShadowColor, 0L); }
    int GetBookShadowSize() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_BookShadowSize, 0L); }
    BOOL GetBookShowCornerGuard() 
      { return (BOOL)SendMessage(TABM_GETPROPERTY, TABPROP_BookShowCornerGuard, 0L); }
    BOOL GetBookShowMetalSpine() 
      { return (BOOL)SendMessage(TABM_GETPROPERTY, TABPROP_BookShowMetalSpine, 0L); }
    int GetChamferedHeight() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_ChamferedHeight, 0L); }
    int GetChamferedWidth() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_ChamferedWidth, 0L); }
    int GetClientHeight() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_ClientHeight, 0L); }
    int GetClientHeightPrev() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_ClientHeightPrev, 0L); }
    int GetClientLeft() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_ClientLeft, 0L); }
    int GetClientLeftPrev() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_ClientLeftPrev, 0L); }
    int GetClientTop() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_ClientTop, 0L); }
    int GetClientTopPrev() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_ClientTopPrev, 0L); }
    int GetClientWidth() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_ClientWidth, 0L); }
    int GetClientWidthPrev() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_ClientWidthPrev, 0L); }
    COLORREF GetEarMarkColorDark() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_EarMarkColorDark, 0L); }
    COLORREF GetEarMarkColorLight() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_EarMarkColorLight, 0L); }
    COLORREF GetEarMarkColorOutline() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_EarMarkColorOutline, 0L); }
    int GetEarMarkHeight() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_EarMarkHeight, 0L); }
    BOOL GetFlipText() 
      { return (BOOL)SendMessage(TABM_GETPROPERTY, TABPROP_FlipText, 0L); }
    COLORREF GetForeColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_ForeColor, 0L); }
    BOOL GetFreezeRows() 
      { return (BOOL)SendMessage(TABM_GETPROPERTY, TABPROP_FreezeRows, 0L); }
    COLORREF GetGrayAreaColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_GrayAreaColor, 0L); }
    short GetHighestPrecedence() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_HighestPrecedence, 0L); }
    int GetMarginLeft() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_MarginLeft, 0L); }
    int GetMarginRight() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_MarginRight, 0L); }
    int GetMaxScrollRows() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_MaxScrollRows, 0L); }
    short GetMode() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_Mode, 0L); }
    int GetMouseOverTab() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_MouseOverTab, 0L); }
    BOOL GetOffsetFromClientTop() 
      { return (BOOL)SendMessage(TABM_GETPROPERTY, TABPROP_OffsetFromClientTop, 0L); }
    short GetOrientation() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_Orientation, 0L); }
    COLORREF GetOutlineColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_OutlineColor, 0L); }
    int GetPage() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_Page, 0L); }
    COLORREF GetPageColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_PageColor, 0L); }
    short GetPageEarMarkAlignNext() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_PageEarMarkAlignNext, 0L); }
    short GetPageEarMarkAlignPrev() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_PageEarMarkAlignPrev, 0L); }
    COLORREF GetPageEarMarkColorDark() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_PageEarMarkColorDark, 0L); }
    COLORREF GetPageEarMarkColorLight() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_PageEarMarkColorLight, 0L); }
    COLORREF GetPageEarMarkColorOutline() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_PageEarMarkColorOutline, 0L); }
    int GetPageEarMarkHeight() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_PageEarMarkHeight, 0L); }
    short GetPageEarMarkType() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_PageEarMarkType, 0L); }
    short GetPageFlipEffect() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_PageFlipEffect, 0L); }
    int GetPageFlipSpeed() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_PageFlipSpeed, 0L); }
    int GetPageMax() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_PageMax, 0L); }
    BOOL GetRotateText90() 
      { return (BOOL)SendMessage(TABM_GETPROPERTY, TABPROP_RotateText90, 0L); }
    BOOL GetShowEarMark() 
      { return (BOOL)SendMessage(TABM_GETPROPERTY, TABPROP_ShowEarMark, 0L); }
    BOOL GetShowFocusRect() 
      { return (BOOL)SendMessage(TABM_GETPROPERTY, TABPROP_ShowFocusRect, 0L); }
    int GetTab() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_Tab, 0L); }
    void GetTabCaption(LPSTR value) 
      { SendMessage(TABM_GETPROPERTY, TABPROP_TabCaption, (LPARAM)value); }
    int GetTabCaptionLength()
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_TabCaptionLength, 0L); }
    int GetTabCount() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_TabCount, 0L); }
    int GetTabDest() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_TabDest, 0L); }
    int GetTabHeight() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_TabHeight, 0L); }
    long GetTabID() 
      { return (long)SendMessage(TABM_GETPROPERTY, TABPROP_TabID, 0L); }
    int GetTabLeft() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_TabLeft, 0L); }
    int GetTabMaxWidth() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_TabMaxWidth, 0L); }
    HANDLE GetTabPicture() 
      { return (HANDLE)SendMessage(TABM_GETPROPERTY, TABPROP_TabPicture, 0L); }
    int GetTabRight() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_TabRight, 0L); }
    int GetTabRowOffset() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_TabRowOffset, 0L); }
    int GetTabSeparator() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_TabSeparator, 0L); }
    short GetTabShape() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_TabShape, 0L); }
    short GetTabState() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_TabState, 0L); }
    int GetTabsPerRow() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_TabsPerRow, 0L); }
    BOOL GetThreeD() 
      { return (BOOL)SendMessage(TABM_GETPROPERTY, TABPROP_ThreeD, 0L); }
    COLORREF GetThreeDHighlightColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_ThreeDHighlightColor, 0L); }
    COLORREF GetThreeDShadowColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_ThreeDShadowColor, 0L); }
    short GetThreeDText() 
      { return (short)SendMessage(TABM_GETPROPERTY, TABPROP_ThreeDText, 0L); }
    COLORREF GetThreeDTextHighlightColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_ThreeDTextHighlightColor, 0L); }
    int GetThreeDTextOffset() 
      { return (int)SendMessage(TABM_GETPROPERTY, TABPROP_ThreeDTextOffset, 0L); }
    COLORREF GetThreeDTextShadowColor() 
      { return (COLORREF)SendMessage(TABM_GETPROPERTY, TABPROP_ThreeDTextShadowColor, 0L); }
    BOOL GetWordWrap() 
      { return (BOOL)SendMessage(TABM_GETPROPERTY, TABPROP_WordWrap, 0L); }

    FP_ERROR SetAction(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_Action, (LPARAM)value); }
    FP_ERROR SetActivePage(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ActivePage, (LPARAM)value); }
    FP_ERROR SetActiveTab(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ActiveTab, (LPARAM)value); }
    FP_ERROR SetActiveTabBold(BOOL value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ActiveTabBold, (LPARAM)value); }
    FP_ERROR SetAlignPictureH(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_AlignPictureH, (LPARAM)value); }
    FP_ERROR SetAlignPictureV(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_AlignPictureV, (LPARAM)value); }
    FP_ERROR SetAlignTextH(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_AlignTextH, (LPARAM)value); }
    FP_ERROR SetAlignTextV(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_AlignTextV, (LPARAM)value); }
    FP_ERROR SetAllowPreview(BOOL value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_AllowPreview, (LPARAM)value); }
    FP_ERROR SetAllowScroll(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_AllowScroll, (LPARAM)value); }
    FP_ERROR SetApplyTo(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ApplyTo, (LPARAM)value); }
    FP_ERROR SetAutoSize(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_AutoSize, (LPARAM)value); }
    FP_ERROR SetAutoSizeOffsetBottom(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_AutoSizeOffsetBottom, (LPARAM)value); }
    FP_ERROR SetAutoSizeOffsetLeft(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_AutoSizeOffsetLeft, (LPARAM)value); }
    FP_ERROR SetAutoSizeOffsetRight(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_AutoSizeOffsetRight, (LPARAM)value); }
    FP_ERROR SetAutoSizeOffsetTop(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_AutoSizeOffsetTop, (LPARAM)value); }
    FP_ERROR SetBackColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BackColor, (LPARAM)value); }
    FP_ERROR SetBookColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookColor, (LPARAM)value); }
    FP_ERROR SetBookCornerGuardColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookCornerGuardColor, (LPARAM)value); }
    FP_ERROR SetBookCornerGuardColorDark(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookCornerGuardColorDark, (LPARAM)value); }
    FP_ERROR SetBookCornerGuardColorLight(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookCornerGuardColorLight, (LPARAM)value); }
    FP_ERROR SetBookCornerGuardLength(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookCornerGuardLength, (LPARAM)value); }
    FP_ERROR SetBookCornerGuardWidth(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookCornerGuardWidth, (LPARAM)value); }
    FP_ERROR SetBookCornerHeight(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookCornerHeight, (LPARAM)value); }
    FP_ERROR SetBookCornerType(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookCornerType, (LPARAM)value); }
    FP_ERROR SetBookCornerWidth(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookCornerWidth, (LPARAM)value); }
    FP_ERROR SetBookCoverStyle(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookCoverStyle, (LPARAM)value); }
    FP_ERROR SetBookCreaseColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookCreaseColor, (LPARAM)value); }
    FP_ERROR SetBookCreaseType(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookCreaseType, (LPARAM)value); }
    FP_ERROR SetBookDoubleWireMargin(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookDoubleWireMargin, (LPARAM)value); }
    FP_ERROR SetBookGutter(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookGutter, (LPARAM)value); }
    FP_ERROR SetBookMarginH(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookMarginH, (LPARAM)value); }
    FP_ERROR SetBookMarginV(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookMarginV, (LPARAM)value); }
    FP_ERROR SetBookMetalSpineColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookMetalSpineColor, (LPARAM)value); }
    FP_ERROR SetBookMetalSpineOutlineColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookMetalSpineOutlineColor, (LPARAM)value); }
    FP_ERROR SetBookModeType(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookModeType, (LPARAM)value); }
    FP_ERROR SetBookRingArc(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookRingArc, (LPARAM)value); }
    FP_ERROR SetBookRingColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookRingColor, (LPARAM)value); }
    FP_ERROR SetBookRingColorLight(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookRingColorLight, (LPARAM)value); }
    FP_ERROR SetBookRingColorOutline(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookRingColorOutline, (LPARAM)value); }
    FP_ERROR SetBookRingCount(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookRingCount, (LPARAM)value); }
    FP_ERROR SetBookRingGroupCount(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookRingGroupCount, (LPARAM)value); }
    FP_ERROR SetBookRingLength(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookRingLength, (LPARAM)value); }
    FP_ERROR SetBookRingMargin(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookRingMargin, (LPARAM)value); }
    FP_ERROR SetBookRingOutsideMargin(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookRingOutsideMargin, (LPARAM)value); }
    FP_ERROR SetBookRingShowHole(BOOL value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookRingShowHole, (LPARAM)value); }
    FP_ERROR SetBookRingType(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookRingType, (LPARAM)value); }
    FP_ERROR SetBookRingWidth(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookRingWidth, (LPARAM)value); }
    FP_ERROR SetBookShadowColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookShadowColor, (LPARAM)value); }
    FP_ERROR SetBookShadowSize(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookShadowSize, (LPARAM)value); }
    FP_ERROR SetBookShowCornerGuard(BOOL value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookShowCornerGuard, (LPARAM)value); }
    FP_ERROR SetBookShowMetalSpine(BOOL value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_BookShowMetalSpine, (LPARAM)value); }
    FP_ERROR SetChamferedHeight(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ChamferedHeight, (LPARAM)value); }
    FP_ERROR SetChamferedWidth(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ChamferedWidth, (LPARAM)value); }
    FP_ERROR SetEarMarkColorDark(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_EarMarkColorDark, (LPARAM)value); }
    FP_ERROR SetEarMarkColorLight(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_EarMarkColorLight, (LPARAM)value); }
    FP_ERROR SetEarMarkColorOutline(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_EarMarkColorOutline, (LPARAM)value); }
    FP_ERROR SetEarMarkHeight(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_EarMarkHeight, (LPARAM)value); }
    FP_ERROR SetFlipText(BOOL value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_FlipText, (LPARAM)value); }
    FP_ERROR SetForeColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ForeColor, (LPARAM)value); }
    FP_ERROR SetFreezeRows(BOOL value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_FreezeRows, (LPARAM)value); }
    FP_ERROR SetGrayAreaColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_GrayAreaColor, (LPARAM)value); }
    FP_ERROR SetHighestPrecedence(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_HighestPrecedence, (LPARAM)value); }
    FP_ERROR SetMarginLeft(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_MarginLeft, (LPARAM)value); }
    FP_ERROR SetMarginRight(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_MarginRight, (LPARAM)value); }
    FP_ERROR SetMaxScrollRows(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_MaxScrollRows, (LPARAM)value); }
    FP_ERROR SetMode(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_Mode, (LPARAM)value); }
    FP_ERROR SetOffsetFromClientTop(BOOL value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_OffsetFromClientTop, (LPARAM)value); }
    FP_ERROR SetOrientation(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_Orientation, (LPARAM)value); }
    FP_ERROR SetOutlineColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_OutlineColor, (LPARAM)value); }
    FP_ERROR SetPage(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_Page, (LPARAM)value); }
    FP_ERROR SetPageColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_PageColor, (LPARAM)value); }
    FP_ERROR SetPageEarMarkAlignNext(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_PageEarMarkAlignNext, (LPARAM)value); }
    FP_ERROR SetPageEarMarkAlignPrev(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_PageEarMarkAlignPrev, (LPARAM)value); }
    FP_ERROR SetPageEarMarkColorDark(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_PageEarMarkColorDark, (LPARAM)value); }
    FP_ERROR SetPageEarMarkColorLight(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_PageEarMarkColorLight, (LPARAM)value); }
    FP_ERROR SetPageEarMarkColorOutline(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_PageEarMarkColorOutline, (LPARAM)value); }
    FP_ERROR SetPageEarMarkHeight(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_PageEarMarkHeight, (LPARAM)value); }
    FP_ERROR SetPageEarMarkType(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_PageEarMarkType, (LPARAM)value); }
    FP_ERROR SetPageFlipEffect(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_PageFlipEffect, (LPARAM)value); }
    FP_ERROR SetPageFlipSpeed(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_PageFlipSpeed, (LPARAM)value); }
    FP_ERROR SetPageMax(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_PageMax, (LPARAM)value); }
    FP_ERROR SetRotateText90(BOOL value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_RotateText90, (LPARAM)value); }
    FP_ERROR SetShowEarMark(BOOL value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ShowEarMark, (LPARAM)value); }
    FP_ERROR SetShowFocusRect(BOOL value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ShowFocusRect, (LPARAM)value); }
    FP_ERROR SetTab(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_Tab, (LPARAM)value); }
    FP_ERROR SetTabCaption(LPCSTR value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_TabCaption, (LPARAM)value); }
    FP_ERROR SetTabCount(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_TabCount, (LPARAM)value); }
    FP_ERROR SetTabDest(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_TabDest, (LPARAM)value); }
    FP_ERROR SetTabHeight(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_TabHeight, (LPARAM)value); }
    FP_ERROR SetTabID(long value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_TabID, (LPARAM)value); }
    FP_ERROR SetTabLeft(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_TabLeft, (LPARAM)value); }
    FP_ERROR SetTabMaxWidth(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_TabMaxWidth, (LPARAM)value); }
    FP_ERROR SetTabPicture(HANDLE value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_TabPicture, (LPARAM)value); }
    FP_ERROR SetTabRowOffset(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_TabRowOffset, (LPARAM)value); }
    FP_ERROR SetTabSeparator(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_TabSeparator, (LPARAM)value); }
    FP_ERROR SetTabShape(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_TabShape, (LPARAM)value); }
    FP_ERROR SetTabState(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_TabState, (LPARAM)value); }
    FP_ERROR SetTabsPerRow(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_TabsPerRow, (LPARAM)value); }
    FP_ERROR SetThreeD(BOOL value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ThreeD, (LPARAM)value); }
    FP_ERROR SetThreeDHighlightColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ThreeDHighlightColor, (LPARAM)value); }
    FP_ERROR SetThreeDShadowColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ThreeDShadowColor, (LPARAM)value); }
    FP_ERROR SetThreeDText(short value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ThreeDText, (LPARAM)value); }
    FP_ERROR SetThreeDTextHighlightColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ThreeDTextHighlightColor, (LPARAM)value); }
    FP_ERROR SetThreeDTextOffset(int value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ThreeDTextOffset, (LPARAM)value); }
    FP_ERROR SetThreeDTextShadowColor(COLORREF value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_ThreeDTextShadowColor, (LPARAM)value); }
    FP_ERROR SetWordWrap(BOOL value) 
      { return SendMessage(TABM_SETPROPERTY, TABPROP_WordWrap, (LPARAM)value); }

};

inline void AFXAPI
DDX_VBControl(CDataExchange* pDX, int nIDC, CTab*& rpTab)
{
  CVBControl* pControl = (CVBControl*)rpTab;
  DDX_VBControl(pDX, nIDC, pControl);
  rpTab = (CTab*)pControl;
}

// Tab event indices
#define EVENT_TAB_CLIENTCLICK 0
#define EVENT_TAB_DBLCLICK 1
#define EVENT_TAB_GOTFOUCS 4
#define EVENT_TAB_KEYDOWN 5
#define EVENT_TAB_KEYPRESS 6
#define EVENT_TAB_KEYUP 7
#define EVENT_TAB_LOSTFOCUS 8
#define EVENT_TAB_MOUSEDOWN 9
#define EVENT_TAB_MOUSEMOVE 10
#define EVENT_TAB_MOUSEUP 11
#define EVENT_TAB_TABACTIVATE 12
#define EVENT_TAB_TABPAGEACTIVATE 13
#define EVENT_TAB_TABPAGESHOWN 14
#define EVENT_TAB_TABPREVIEW 15
#define EVENT_TAB_TABSCROLL 16
#define EVENT_TAB_TABSHOWN 17
#define EVENT_TAB_USERERROR 18

// Tab property indices
#define PROP_TAB_ABOUT 25
#define PROP_TAB_ACTION 72
#define PROP_TAB_ACTIVEPAGE 113
#define PROP_TAB_ACTIVETAB 24
#define PROP_TAB_ACTIVETABBOLD 54
#define PROP_TAB_ALIGNPICTUREH 59
#define PROP_TAB_ALIGNPICTUREV 58
#define PROP_TAB_ALIGNTEXTH 31
#define PROP_TAB_ALIGNTEXTV 32
#define PROP_TAB_ALLOWPREVIEW 70
#define PROP_TAB_ALLOWSCROLL 74
#define PROP_TAB_APPLYTO 53
#define PROP_TAB_AUTOSIZE 132
#define PROP_TAB_AUTOSIZECHILDREN 135
#define PROP_TAB_AUTOSIZEOFFSETBOTTOM 140
#define PROP_TAB_AUTOSIZEOFFSETLEFT 137
#define PROP_TAB_AUTOSIZEOFFSETRIGHT 138
#define PROP_TAB_AUTOSIZEOFFSETTOP 139
#define PROP_TAB_BACKCOLOR 5
#define PROP_TAB_BOOKCOLOR 87
#define PROP_TAB_BOOKCORNERGUARDCOLOR 144
#define PROP_TAB_BOOKCORNERGUARDCOLORDARK 145
#define PROP_TAB_BOOKCORNERGUARDCOLORLIGHT 146
#define PROP_TAB_BOOKCORNERGUARDLENGTH 143
#define PROP_TAB_BOOKCORNERGUARDWIDTH 142
#define PROP_TAB_BOOKCORNERHEIGHT 102
#define PROP_TAB_BOOKCORNERTYPE 100
#define PROP_TAB_BOOKCORNERWIDTH 101
#define PROP_TAB_BOOKCOVERSTYLE 110
#define PROP_TAB_BOOKCREASECOLOR 86
#define PROP_TAB_BOOKCREASETYPE 85
#define PROP_TAB_BOOKDOUBLEWIREMARGIN 107
#define PROP_TAB_BOOKGUTTER 105
#define PROP_TAB_BOOKMARGINH 83
#define PROP_TAB_BOOKMARGINV 84
#define PROP_TAB_BOOKMETALSPINECOLOR 98
#define PROP_TAB_BOOKMETALSPINEOUTLINECOLOR 99
#define PROP_TAB_BOOKMODETYPE 147
#define PROP_TAB_BOOKRINGARC 108
#define PROP_TAB_BOOKRINGCOLOR 88
#define PROP_TAB_BOOKRINGCOLORLIGHT 89
#define PROP_TAB_BOOKRINGCOLOROUTLINE 90
#define PROP_TAB_BOOKRINGCOUNT 93
#define PROP_TAB_BOOKRINGGROUPCOUNT 94
#define PROP_TAB_BOOKRINGLENGTH 91
#define PROP_TAB_BOOKRINGMARGIN 95
#define PROP_TAB_BOOKRINGOUTSIDEMARGIN 96
#define PROP_TAB_BOOKRINGSHOWHOLE 109
#define PROP_TAB_BOOKRINGTYPE 106
#define PROP_TAB_BOOKRINGWIDTH 92
#define PROP_TAB_BOOKSHADOWCOLOR 104
#define PROP_TAB_BOOKSHADOWSIZE 103
#define PROP_TAB_BOOKSHOWCORNERGUARD 141
#define PROP_TAB_BOOKSHOWMETALSPINE 97
#define PROP_TAB_CHAMFEREDHEIGHT 68
#define PROP_TAB_CHAMFEREDWIDTH 67
#define PROP_TAB_CLIENTHEIGHT 39
#define PROP_TAB_CLIENTHEIGHTPREV 128
#define PROP_TAB_CLIENTLEFT 40
#define PROP_TAB_CLIENTLEFTPREV 129
#define PROP_TAB_CLIENTTOP 41
#define PROP_TAB_CLIENTTOPPREV 130
#define PROP_TAB_CLIENTWIDTH 42
#define PROP_TAB_CLIENTWIDTHPREV 131
#define PROP_TAB_EARMARKCOLORDARK 78
#define PROP_TAB_EARMARKCOLORLIGHT 79
#define PROP_TAB_EARMARKCOLOROUTLINE 80
#define PROP_TAB_EARMARKHEIGHT 81
#define PROP_TAB_ENABLED 7
#define PROP_TAB_FIRETABACTIVATEEVENT 133
#define PROP_TAB_FLIPTEXT 35
#define PROP_TAB_FONTBOLD 8
#define PROP_TAB_FONTITALIC 9
#define PROP_TAB_FONTNAME 10
#define PROP_TAB_FONTSIZE 11
#define PROP_TAB_FONTSTRIKETHRU 60
#define PROP_TAB_FONTUNDERLINE 12
#define PROP_TAB_FORECOLOR 13
#define PROP_TAB_FREEZEROWS 148
#define PROP_TAB_GRAYAREACOLOR 55
#define PROP_TAB_HEIGHT 14
#define PROP_TAB_HIGHESTPRECEDENCE 65
#define PROP_TAB_INDEX 1
#define PROP_TAB_LEFT 16
#define PROP_TAB_MARGINLEFT 49
#define PROP_TAB_MARGINRIGHT 50
#define PROP_TAB_MAXSCROLLROWS 127
#define PROP_TAB_MODE 82
#define PROP_TAB_MOUSEOVERTAB 63
#define PROP_TAB_MOUSEPOINTER 17
#define PROP_TAB_NAME 0
#define PROP_TAB_OFFSETFROMCLIENTTOP 64
#define PROP_TAB_ORIENTATION 34
#define PROP_TAB_OUTLINECOLOR 56
#define PROP_TAB_PAGE 112
#define PROP_TAB_PAGECOLOR 62
#define PROP_TAB_PAGEEARMARKALIGNNEXT 125
#define PROP_TAB_PAGEEARMARKALIGNPREV 126
#define PROP_TAB_PAGEEARMARKCOLORDARK 116
#define PROP_TAB_PAGEEARMARKCOLORLIGHT 117
#define PROP_TAB_PAGEEARMARKCOLOROUTLINE 118
#define PROP_TAB_PAGEEARMARKHEIGHT 119
#define PROP_TAB_PAGEEARMARKTYPE 114
#define PROP_TAB_PAGEFLIPEFFECT 115
#define PROP_TAB_PAGEFLIPSPEED 136
#define PROP_TAB_PAGEMAX 111
#define PROP_TAB_PARENT 2
#define PROP_TAB_ROTATETEXT90 66
#define PROP_TAB_SHOWEARMARK 75
#define PROP_TAB_SHOWFOCUSRECT 43
#define PROP_TAB_TAB 30
#define PROP_TAB_TABCAPTION 29
#define PROP_TAB_TABCOUNT 28
#define PROP_TAB_TABDEST 73
#define PROP_TAB_TABHEIGHT 26
#define PROP_TAB_TABID 71
#define PROP_TAB_TABINDEX 18
#define PROP_TAB_TABLEFT 76
#define PROP_TAB_TABMAXWIDTH 51
#define PROP_TAB_TABPICTURE 57
#define PROP_TAB_TABRIGHT 77
#define PROP_TAB_TABROWOFFSET 69
#define PROP_TAB_TABSEPARATOR 61
#define PROP_TAB_TABSHAPE 48
#define PROP_TAB_TABSTATE 52
#define PROP_TAB_TABSTOP 19
#define PROP_TAB_TABSPERROW 27
#define PROP_TAB_TAG 3
#define PROP_TAB_THREED 36
#define PROP_TAB_THREEDHIGHLIGHTCOLOR 38
#define PROP_TAB_THREEDSHADOWCOLOR 37
#define PROP_TAB_THREEDTEXT 44
#define PROP_TAB_THREEDTEXTHIGHLIGHTCOLOR 46
#define PROP_TAB_THREEDTEXTOFFSET 45
#define PROP_TAB_THREEDTEXTSHADOWCOLOR 47
#define PROP_TAB_TOP 20
#define PROP_TAB_VISIBLE 21
#define PROP_TAB_WIDTH 22
#define PROP_TAB_WORDWRAP 33
#define PROP_TAB_HWND 4

// Tab event macros
#define TAB_CLIENTCLICK_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define TAB_CLIENTCLICK_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define TAB_KEYDOWN_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define TAB_KEYDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define TAB_KEYPRESS_KEYASCII(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define TAB_KEYUP_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define TAB_KEYUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define TAB_MOUSEDOWN_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
#define TAB_MOUSEDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
#define TAB_MOUSEDOWN_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define TAB_MOUSEDOWN_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define TAB_MOUSEMOVE_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
#define TAB_MOUSEMOVE_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
#define TAB_MOUSEMOVE_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define TAB_MOUSEMOVE_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define TAB_MOUSEUP_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
#define TAB_MOUSEUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
#define TAB_MOUSEUP_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define TAB_MOUSEUP_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define TAB_TABACTIVATE_TABTOACTIVATE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define TAB_TABPAGEACTIVATE_TABTOACTIVATE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define TAB_TABPAGEACTIVATE_PAGETOACTIVATE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define TAB_TABPAGESHOWN_ACTIVETAB(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define TAB_TABPAGESHOWN_ACTIVEPAGE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define TAB_TABPREVIEW_TABTOPREVIEW(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define TAB_TABPREVIEW_ACTION(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define TAB_TABSCROLL_TABLEFTOLD(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define TAB_TABSCROLL_TABLEFTNEW(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define TAB_TABSHOWN_ACTIVETAB(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define TAB_USERERROR_USERERROR(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define TAB_USERERROR_USERERRORTAB(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)

// Tab property values
#define TAB_ACTION_INSERT 0
#define TAB_ACTION_DELETE 1
#define TAB_ACTION_MOVE 2
#define TAB_ACTION_SWAP 3
#define TAB_ACTION_CLEAR 4
#define TAB_ALIGNPICTUREH_LEFT 0
#define TAB_ALIGNPICTUREH_CENTER 1
#define TAB_ALIGNPICTUREH_RIGHT 2
#define TAB_ALIGNPICTUREH_LEFT_OF_TEXT 3
#define TAB_ALIGNPICTUREH_RIGHT_OF_TEXT 4
#define TAB_ALIGNPICTUREV_TOP 0
#define TAB_ALIGNPICTUREV_CENTER 1
#define TAB_ALIGNPICTUREV_BOTTOM 2
#define TAB_ALIGNTEXTH_LEFT 0
#define TAB_ALIGNTEXTH_CENTER 1
#define TAB_ALIGNTEXTH_RIGHT 2
#define TAB_ALIGNTEXTV_TOP 0
#define TAB_ALIGNTEXTV_CENTER 1
#define TAB_ALIGNTEXTV_BOTTOM 2
#define TAB_ALLOWSCROLL_OFF 0
#define TAB_ALLOWSCROLL_SCROLL_SHOW_WHOLE 1
#define TAB_ALLOWSCROLL_SCROLL_SHOW_PARTIAL 2
#define TAB_APPLYTO_DEFAULT 0
#define TAB_APPLYTO_ACTIVE 1
#define TAB_APPLYTO_TAB 2
#define TAB_AUTOSIZE_NONE 0
#define TAB_AUTOSIZE_TOP_OF_PARENT 1
#define TAB_AUTOSIZE_BOTTOM_OF_PARENT 2
#define TAB_AUTOSIZE_LEFT_OF_PARENT 3
#define TAB_AUTOSIZE_RIGHT_OF_PARENT 4
#define TAB_AUTOSIZE_FILL_PARENT 5
#define TAB_AUTOSIZECHILDREN_NONE 0
#define TAB_AUTOSIZECHILDREN_POSITION_ONLY 1
#define TAB_AUTOSIZECHILDREN_SIZE_ONLY 2
#define TAB_AUTOSIZECHILDREN_BOTH 3
#define TAB_BOOKCORNERTYPE_ROUND 0
#define TAB_BOOKCORNERTYPE_SQUARE 1
#define TAB_BOOKCORNERTYPE_CHAMFERED 2
#define TAB_BOOKCOVERSTYLE_NONE 0
#define TAB_BOOKCOVERSTYLE_OPEN 1
#define TAB_BOOKCOVERSTYLE_CLOSED 2
#define TAB_BOOKCREASETYPE_NONE 0
#define TAB_BOOKCREASETYPE_1_LINE 1
#define TAB_BOOKCREASETYPE_2_LINES 2
#define TAB_BOOKMODETYPE_TAB_AS_SECTION_DIVIDER 0
#define TAB_BOOKMODETYPE_TAB_AS_USEABLE_PAGE 1
#define TAB_BOOKRINGTYPE_METAL 0
#define TAB_BOOKRINGTYPE_SINGLE_WIRE 1
#define TAB_BOOKRINGTYPE_DOUBLE_WIRE 2
#define TAB_HIGHESTPRECEDENCE_ACTIVETAB 0
#define TAB_HIGHESTPRECEDENCE_INDIVIDUALTAB 1
#define TAB_MODE_TAB 0
#define TAB_MODE_BOOK_ONE_PAGE 1
#define TAB_MODE_BOOK_TWO_PAGES 2
#define TAB_MOUSEPOINTER_DEFAULT 0
#define TAB_MOUSEPOINTER_ARROW 1
#define TAB_MOUSEPOINTER_CROSS 2
#define TAB_MOUSEPOINTER_I_BEAM 3
#define TAB_MOUSEPOINTER_ICON 4
#define TAB_MOUSEPOINTER_SIZE 5
#define TAB_MOUSEPOINTER_SIZE_NE_SW 6
#define TAB_MOUSEPOINTER_SIZE_N_S 7
#define TAB_MOUSEPOINTER_SIZE_NW_SE 8
#define TAB_MOUSEPOINTER_SIZE_W_E 9
#define TAB_MOUSEPOINTER_UP_ARROW 10
#define TAB_MOUSEPOINTER_HOURGLASS 11
#define TAB_MOUSEPOINTER_NO_DROP 12
#define TAB_ORIENTATION_TOP 0
#define TAB_ORIENTATION_RIGHT 1
#define TAB_ORIENTATION_BOTTOM 2
#define TAB_ORIENTATION_LEFT 3
#define TAB_PAGEEARMARKALIGNNEXT_UPPER_RIGHT 0
#define TAB_PAGEEARMARKALIGNNEXT_LOWER_RIGHT 1
#define TAB_PAGEEARMARKALIGNNEXT_LOWER_LEFT 2
#define TAB_PAGEEARMARKALIGNNEXT_UPPER_LEFT 3
#define TAB_PAGEEARMARKALIGNPREV_UPPER_RIGHT 0
#define TAB_PAGEEARMARKALIGNPREV_LOWER_RIGHT 1
#define TAB_PAGEEARMARKALIGNPREV_LOWER_LEFT 2
#define TAB_PAGEEARMARKALIGNPREV_UPPER_LEFT 3
#define TAB_PAGEEARMARKTYPE_NONE 0
#define TAB_PAGEEARMARKTYPE_TRANSPARENT 1
#define TAB_PAGEEARMARKTYPE_SIMPLE 2
#define TAB_PAGEEARMARKTYPE_THREED 3
#define TAB_PAGEFLIPEFFECT_FAST 0
#define TAB_PAGEFLIPEFFECT_ANIMATED 1
#define TAB_TABSHAPE_CHAMFERED 0
#define TAB_TABSHAPE_SLANTED 1
#define TAB_TABSHAPE_ROUNDED 2
#define TAB_TABSHAPE_SQUARE 3
#define TAB_TABSTATE_ENABLED 0
#define TAB_TABSTATE_HIDDEN 1
#define TAB_TABSTATE_DISABLED 2
#define TAB_TABSTATE_DISABLED_NO_TEXT 3
#define TAB_THREEDTEXT_NONE 0
#define TAB_THREEDTEXT_RAISED_W_LIGHT_SHADING 1
#define TAB_THREEDTEXT_LOWERED_W_LIGHT_SHADING 2
#define TAB_THREEDTEXT_RAISED_W_HEAVY_SHADING 3
#define TAB_THREEDTEXT_LOWERED_W_HEAVY_SHADING 4

// Class representing fpVBImprintPro11 control in IMPPRO11.VBX file

class CImprint : public CVBControl
{
  public:

    BOOL Create(DWORD dwStyle, const RECT& rect,
                CWnd* pParentWnd, UINT nID,
                CFile* pFile = NULL, BOOL bAutoDelete = FALSE)
    {
      return CVBControl::Create(
               "IMPPRO11.VBX;fpVBImprintPro11;",
               dwStyle, rect,
               pParentWnd, nID,
               pFile, bAutoDelete
             );
    }

    short GetAlignTextH() 
      { return (short)SendMessage(IMPM_GETPROPERTY, IMPPROP_AlignTextH, 0L); }
    short GetAlignTextV() 
      { return (short)SendMessage(IMPM_GETPROPERTY, IMPPROP_AlignTextV, 0L); }
    short GetAutoSize() 
      { return (short)SendMessage(IMPM_GETPROPERTY, IMPPROP_AutoSize, 0L); }
    int GetAutoSizeOffsetBottom() 
      { return (int)SendMessage(IMPM_GETPROPERTY, IMPPROP_AutoSizeOffsetBottom, 0L); }
    int GetAutoSizeOffsetLeft() 
      { return (int)SendMessage(IMPM_GETPROPERTY, IMPPROP_AutoSizeOffsetLeft, 0L); }
    int GetAutoSizeOffsetRight() 
      { return (int)SendMessage(IMPM_GETPROPERTY, IMPPROP_AutoSizeOffsetRight, 0L); }
    int GetAutoSizeOffsetTop() 
      { return (int)SendMessage(IMPM_GETPROPERTY, IMPPROP_AutoSizeOffsetTop, 0L); }
    COLORREF GetBackColor() 
      { return (COLORREF)SendMessage(IMPM_GETPROPERTY, IMPPROP_BackColor, 0L); }
    short GetBorderAlignTextH() 
      { return (short)SendMessage(IMPM_GETPROPERTY, IMPPROP_BorderAlignTextH, 0L); }
    void GetBorderText(LPSTR value) 
      { SendMessage(IMPM_GETPROPERTY, IMPPROP_BorderText, (LPARAM)value); }
    BOOL GetBorderTextFlip() 
      { return (BOOL)SendMessage(IMPM_GETPROPERTY, IMPPROP_BorderTextFlip, 0L); }
    short GetBorderTextLength()
      { return (short)SendMessage(IMPM_GETPROPERTY, IMPPROP_BorderTextLength, 0L); }
    short GetBorderTextOrientation() 
      { return (short)SendMessage(IMPM_GETPROPERTY, IMPPROP_BorderTextOrientation, 0L); }
    void GetCaption(LPSTR value)
      { SendMessage(IMPM_GETPROPERTY, IMPPROP_Caption, (LPARAM)value); }
    short GetCaptionLength()
      { return (short)SendMessage(IMPM_GETPROPERTY, IMPPROP_CaptionLength, 0L); }
    COLORREF GetForeColor() 
      { return (COLORREF)SendMessage(IMPM_GETPROPERTY, IMPPROP_ForeColor, 0L); }
    COLORREF GetFrameColor() 
      { return (COLORREF)SendMessage(IMPM_GETPROPERTY, IMPPROP_FrameColor, 0L); }
    COLORREF GetFrameThreeDHighlightColor() 
      { return (COLORREF)SendMessage(IMPM_GETPROPERTY, IMPPROP_FrameThreeDHighlightColor, 0L); }
    COLORREF GetFrameThreeDShadowColor() 
      { return (COLORREF)SendMessage(IMPM_GETPROPERTY, IMPPROP_FrameThreeDShadowColor, 0L); }
    short GetFrameThreeDStyle() 
      { return (short)SendMessage(IMPM_GETPROPERTY, IMPPROP_FrameThreeDStyle, 0L); }
    int GetFrameThreeDWidth() 
      { return (int)SendMessage(IMPM_GETPROPERTY, IMPPROP_FrameThreeDWidth, 0L); }
    int GetFrameWidth() 
      { return (int)SendMessage(IMPM_GETPROPERTY, IMPPROP_FrameWidth, 0L); }
    int GetLineHCount() 
      { return (int)SendMessage(IMPM_GETPROPERTY, IMPPROP_LineHCount, 0L); }
    int GetLineHWidth() 
      { return (int)SendMessage(IMPM_GETPROPERTY, IMPPROP_LineHWidth, 0L); }
    int GetLineVCount() 
      { return (int)SendMessage(IMPM_GETPROPERTY, IMPPROP_LineVCount, 0L); }
    int GetLineVWidth() 
      { return (int)SendMessage(IMPM_GETPROPERTY, IMPPROP_LineVWidth, 0L); }
    BOOL GetNoPrefix() 
      { return (BOOL)SendMessage(IMPM_GETPROPERTY, IMPPROP_NoPrefix, 0L); }
    BOOL GetOutlineInside() 
      { return (BOOL)SendMessage(IMPM_GETPROPERTY, IMPPROP_OutlineInside, 0L); }
    COLORREF GetOutlineInsideColor() 
      { return (COLORREF)SendMessage(IMPM_GETPROPERTY, IMPPROP_OutlineInsideColor, 0L); }
    BOOL GetOutlineOutside() 
      { return (BOOL)SendMessage(IMPM_GETPROPERTY, IMPPROP_OutlineOutside, 0L); }
    COLORREF GetOutlineOutsideColor() 
      { return (COLORREF)SendMessage(IMPM_GETPROPERTY, IMPPROP_OutlineOutsideColor, 0L); }
    short GetTextRotation() 
      { return (short)SendMessage(IMPM_GETPROPERTY, IMPPROP_TextRotation, 0L); }
    COLORREF GetThreeDHighlightColor() 
      { return (COLORREF)SendMessage(IMPM_GETPROPERTY, IMPPROP_ThreeDHighlightColor, 0L); }
    COLORREF GetThreeDShadowColor() 
      { return (COLORREF)SendMessage(IMPM_GETPROPERTY, IMPPROP_ThreeDShadowColor, 0L); }
    short GetThreeDStyle() 
      { return (short)SendMessage(IMPM_GETPROPERTY, IMPPROP_ThreeDStyle, 0L); }
    short GetThreeDText() 
      { return (short)SendMessage(IMPM_GETPROPERTY, IMPPROP_ThreeDText, 0L); }
    COLORREF GetThreeDTextHighlightColor() 
      { return (COLORREF)SendMessage(IMPM_GETPROPERTY, IMPPROP_ThreeDTextHighlightColor, 0L); }
    int GetThreeDTextOffset() 
      { return (int)SendMessage(IMPM_GETPROPERTY, IMPPROP_ThreeDTextOffset, 0L); }
    COLORREF GetThreeDTextShadowColor() 
      { return (COLORREF)SendMessage(IMPM_GETPROPERTY, IMPPROP_ThreeDTextShadowColor, 0L); }
    int GetThreeDWidth() 
      { return (int)SendMessage(IMPM_GETPROPERTY, IMPPROP_ThreeDWidth, 0L); }

    FP_ERROR SetAlignTextH(short value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_AlignTextH, (LPARAM)value); }
    FP_ERROR SetAlignTextV(short value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_AlignTextV, (LPARAM)value); }
    FP_ERROR SetAutoSize(short value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_AutoSize, (LPARAM)value); }
    FP_ERROR SetAutoSizeOffsetBottom(int value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_AutoSizeOffsetBottom, (LPARAM)value); }
    FP_ERROR SetAutoSizeOffsetLeft(int value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_AutoSizeOffsetLeft, (LPARAM)value); }
    FP_ERROR SetAutoSizeOffsetRight(int value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_AutoSizeOffsetRight, (LPARAM)value); }
    FP_ERROR SetAutoSizeOffsetTop(int value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_AutoSizeOffsetTop, (LPARAM)value); }
    FP_ERROR SetBackColor(COLORREF value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_BackColor, (LPARAM)value); }
    FP_ERROR SetBorderAlignTextH(short value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_BorderAlignTextH, (LPARAM)value); }
    FP_ERROR SetBorderText(LPCSTR value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_BorderText, (LPARAM)value); }
    FP_ERROR SetBorderTextFlip(BOOL value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_BorderTextFlip, (LPARAM)value); }
    FP_ERROR SetBorderTextOrientation(short value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_BorderTextOrientation, (LPARAM)value); }
    FP_ERROR SetCaption(LPCSTR value)
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_Caption, (LPARAM)value); }
    FP_ERROR SetForeColor(COLORREF value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_ForeColor, (LPARAM)value); }
    FP_ERROR SetFrameColor(COLORREF value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_FrameColor, (LPARAM)value); }
    FP_ERROR SetFrameThreeDHighlightColor(COLORREF value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_FrameThreeDHighlightColor, (LPARAM)value); }
    FP_ERROR SetFrameThreeDShadowColor(COLORREF value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_FrameThreeDShadowColor, (LPARAM)value); }
    FP_ERROR SetFrameThreeDStyle(short value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_FrameThreeDStyle, (LPARAM)value); }
    FP_ERROR SetFrameThreeDWidth(int value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_FrameThreeDWidth, (LPARAM)value); }
    FP_ERROR SetFrameWidth(int value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_FrameWidth, (LPARAM)value); }
    FP_ERROR SetLineHCount(int value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_LineHCount, (LPARAM)value); }
    FP_ERROR SetLineHWidth(int value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_LineHWidth, (LPARAM)value); }
    FP_ERROR SetLineVCount(int value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_LineVCount, (LPARAM)value); }
    FP_ERROR SetLineVWidth(int value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_LineVWidth, (LPARAM)value); }
    FP_ERROR SetNoPrefix(BOOL value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_NoPrefix, (LPARAM)value); }
    FP_ERROR SetOutlineInside(BOOL value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_OutlineInside, (LPARAM)value); }
    FP_ERROR SetOutlineInsideColor(COLORREF value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_OutlineInsideColor, (LPARAM)value); }
    FP_ERROR SetOutlineOutside(BOOL value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_OutlineOutside, (LPARAM)value); }
    FP_ERROR SetOutlineOutsideColor(COLORREF value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_OutlineOutsideColor, (LPARAM)value); }
    FP_ERROR SetTextRotation(short value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_TextRotation, (LPARAM)value); }
    FP_ERROR SetThreeDHighlightColor(COLORREF value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_ThreeDHighlightColor, (LPARAM)value); }
    FP_ERROR SetThreeDShadowColor(COLORREF value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_ThreeDShadowColor, (LPARAM)value); }
    FP_ERROR SetThreeDStyle(short value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_ThreeDStyle, (LPARAM)value); }
    FP_ERROR SetThreeDText(short value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_ThreeDText, (LPARAM)value); }
    FP_ERROR SetThreeDTextHighlightColor(COLORREF value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_ThreeDTextHighlightColor, (LPARAM)value); }
    FP_ERROR SetThreeDTextOffset(int value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_ThreeDTextOffset, (LPARAM)value); }
    FP_ERROR SetThreeDTextShadowColor(COLORREF value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_ThreeDTextShadowColor, (LPARAM)value); }
    FP_ERROR SetThreeDWidth(int value) 
      { return SendMessage(IMPM_SETPROPERTY, IMPPROP_ThreeDWidth, (LPARAM)value); }

};

inline void AFXAPI
DDX_VBControl(CDataExchange* pDX, int nIDC, CImprint*& rpImprint)
{
  CVBControl* pControl = (CVBControl*)rpImprint;
  DDX_VBControl(pDX, nIDC, pControl);
  rpImprint = (CImprint*)pControl;
}

// Imprint event indices
#define EVENT_IMP_CLICK 0
#define EVENT_IMP_DBLCLICK 1
#define EVENT_IMP_GOTFOUCS 4
#define EVENT_IMP_KEYDOWN 5
#define EVENT_IMP_KEYPRESS 6
#define EVENT_IMP_KEYUP 7
#define EVENT_IMP_LOSTFOCUS 8
#define EVENT_IMP_MOUSEDOWN 9
#define EVENT_IMP_MOUSEMOVE 10
#define EVENT_IMP_MOUSEUP 11

// Imprint property indices
#define PROP_IMP_ABOUT 27
#define PROP_IMP_ALIGNTEXTH 28
#define PROP_IMP_ALIGNTEXTV 29
#define PROP_IMP_AUTOSIZE 61
#define PROP_IMP_AUTOSIZEOFFSETBOTTOM 65
#define PROP_IMP_AUTOSIZEOFFSETLEFT 62
#define PROP_IMP_AUTOSIZEOFFSETRIGHT 63
#define PROP_IMP_AUTOSIZEOFFSETTOP 64
#define PROP_IMP_BACKCOLOR 30
#define PROP_IMP_BORDERALIGNTEXTH 31
#define PROP_IMP_BORDERTEXT 32
#define PROP_IMP_BORDERTEXTFLIP 34
#define PROP_IMP_BORDERTEXTORIENTATION 33
#define PROP_IMP_CAPTION 26
#define PROP_IMP_ENABLED 17
#define PROP_IMP_FONTBOLD 8
#define PROP_IMP_FONTITALIC 9
#define PROP_IMP_FONTNAME 7
#define PROP_IMP_FONTSIZE 12
#define PROP_IMP_FONTSTRIKETHRU 10
#define PROP_IMP_FONTUNDERLINE 11
#define PROP_IMP_FORECOLOR 35
#define PROP_IMP_FRAMECOLOR 36
#define PROP_IMP_FRAMETHREEDHIGHLIGHTCOLOR 37
#define PROP_IMP_FRAMETHREEDSHADOWCOLOR 38
#define PROP_IMP_FRAMETHREEDSTYLE 39
#define PROP_IMP_FRAMETHREEDWIDTH 40
#define PROP_IMP_FRAMEWIDTH 41
#define PROP_IMP_HEIGHT 5
#define PROP_IMP_INDEX 1
#define PROP_IMP_LEFT 2
#define PROP_IMP_LINEHCOUNT 43
#define PROP_IMP_LINEHWIDTH 44
#define PROP_IMP_LINEVCOUNT 45
#define PROP_IMP_LINEVWIDTH 46
#define PROP_IMP_MOUSEPOINTER 6
#define PROP_IMP_NAME 0
#define PROP_IMP_NOPREFIX 47
#define PROP_IMP_OUTLINEINSIDE 48
#define PROP_IMP_OUTLINEINSIDECOLOR 49
#define PROP_IMP_OUTLINEOUTSIDE 50
#define PROP_IMP_OUTLINEOUTSIDECOLOR 51
#define PROP_IMP_PARENT 18
#define PROP_IMP_TABINDEX 13
#define PROP_IMP_TABSTOP 14
#define PROP_IMP_TAG 19
#define PROP_IMP_TEXTROTATION 52
#define PROP_IMP_THREEDHIGHLIGHTCOLOR 53
#define PROP_IMP_THREEDSHADOWCOLOR 54
#define PROP_IMP_THREEDSTYLE 55
#define PROP_IMP_THREEDTEXT 56
#define PROP_IMP_THREEDTEXTHIGHLIGHTCOLOR 57
#define PROP_IMP_THREEDTEXTOFFSET 58
#define PROP_IMP_THREEDTEXTSHADOWCOLOR 59
#define PROP_IMP_THREEDWIDTH 60
#define PROP_IMP_TOP 3
#define PROP_IMP_VISIBLE 20
#define PROP_IMP_WIDTH 4
#define PROP_IMP_HWND 42

// Imprint event macros
#define IMP_KEYDOWN_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define IMP_KEYDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define IMP_KEYPRESS_KEYASCII(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define IMP_KEYUP_KEYCODE(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define IMP_KEYUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define IMP_MOUSEDOWN_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
#define IMP_MOUSEDOWN_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
#define IMP_MOUSEDOWN_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define IMP_MOUSEDOWN_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define IMP_MOUSEMOVE_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
#define IMP_MOUSEMOVE_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
#define IMP_MOUSEMOVE_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define IMP_MOUSEMOVE_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)
#define IMP_MOUSEUP_BUTTON(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,3)
#define IMP_MOUSEUP_SHIFT(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,2)
#define IMP_MOUSEUP_X(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,1)
#define IMP_MOUSEUP_Y(lpParams) AFX_NUM_EVENTPARAMINDEX(int,lpParams,0)

// Imprint property values
#define IMP_ALIGNTEXTH_LEFT 0
#define IMP_ALIGNTEXTH_CENTER 1
#define IMP_ALIGNTEXTH_RIGHT 2
#define IMP_ALIGNTEXTV_TOP 0
#define IMP_ALIGNTEXTV_CENTER 1
#define IMP_ALIGNTEXTV_BOTTOM 2
#define IMP_AUTOSIZE_NONE 0
#define IMP_AUTOSIZE_TOP_OF_PARENT 1
#define IMP_AUTOSIZE_BOTTOM_OF_PARENT 2
#define IMP_AUTOSIZE_LEFT_OF_PARENT 3
#define IMP_AUTOSIZE_RIGHT_OF_PARENT 4
#define IMP_AUTOSIZE_FILL_PARENT 5
#define IMP_BORDERALIGNTEXTH_LEFT 0
#define IMP_BORDERALIGNTEXTH_CENTER 1
#define IMP_BORDERALIGNTEXTH_RIGHT 2
#define IMP_BORDERTEXTORIENTATION_TOP 0
#define IMP_BORDERTEXTORIENTATION_RIGHT 1
#define IMP_BORDERTEXTORIENTATION_BOTTOM 2
#define IMP_BORDERTEXTORIENTATION_LEFT 3
#define IMP_FRAMETHREEDSTYLE_NONE 0
#define IMP_FRAMETHREEDSTYLE_LOWERED 1
#define IMP_FRAMETHREEDSTYLE_RAISED 2
#define IMP_FRAMETHREEDSTYLE_GROUPBOX_LOWERED 3
#define IMP_FRAMETHREEDSTYLE_GROUPBOX_RAISED 4
#define IMP_MOUSEPOINTER_DEFAULT 0
#define IMP_MOUSEPOINTER_ARROW 1
#define IMP_MOUSEPOINTER_CROSS 2
#define IMP_MOUSEPOINTER_I_BEAM 3
#define IMP_MOUSEPOINTER_ICON 4
#define IMP_MOUSEPOINTER_SIZE 5
#define IMP_MOUSEPOINTER_SIZE_NE_SW 6
#define IMP_MOUSEPOINTER_SIZE_N_S 7
#define IMP_MOUSEPOINTER_SIZE_NW_SE 8
#define IMP_MOUSEPOINTER_SIZE_W_E 9
#define IMP_MOUSEPOINTER_UP_ARROW 10
#define IMP_MOUSEPOINTER_HOURGLASS 11
#define IMP_MOUSEPOINTER_NO_DROP 12
#define IMP_TEXTROTATION_0_DEGREES 0
#define IMP_TEXTROTATION_90_DEGREES 1
#define IMP_TEXTROTATION_180_DEGREES 2
#define IMP_TEXTROTATION_270_DEGREES 3
#define IMP_THREEDSTYLE_NONE 0
#define IMP_THREEDSTYLE_LOWERED 1
#define IMP_THREEDSTYLE_RAISED 2
#define IMP_THREEDSTYLE_GROUPBOX_LOWERED 3
#define IMP_THREEDSTYLE_GROUPBOX_RAISED 4
#define IMP_THREEDTEXT_NONE 0
#define IMP_THREEDTEXT_RAISED_W_LIGHT_SHADING 1
#define IMP_THREEDTEXT_LOWERED_W_LIGHT_SHADING 2
#define IMP_THREEDTEXT_RAISED_W_HEAVY_SHADING 3
#define IMP_THREEDTEXT_LOWERED_W_HEAVY_SHADING 4

#endif
