//============================================================================= // (c) Copyright Wang Laboratories, Inc. 1995 All rights reserved. //----------------------------------------------------------------------------- // Project: Norway - Image Editor // // Component: _DThumb // _DThumbEvents // // File Name: thumb.cpp // // Class: _DThumb // _DThumbEvents // // Functions: //----------------------------------------------------------------------------- // Maintenance Log: /* $Header: S:\norway\iedit95\thumb.cpv 1.9 10 Nov 1995 16:47:50 MMB $ $Log: S:\norway\iedit95\thumb.cpv $ Rev 1.9 10 Nov 1995 16:47:50 MMB new thumbocx Rev 1.8 03 Nov 1995 15:30:58 GMP changed dispatch id for get/set ThumbSelected from 0x23 to 0x24 to match changes in thumbnail ocx. Rev 1.7 29 Sep 1995 18:51:12 MMB comment out the thumb generation code Rev 1.6 07 Aug 1995 16:06:06 MMB new Thumb OCX Rev 1.5 01 Aug 1995 16:07:42 MMB new Thumbnail OCX Rev 1.4 20 Jul 1995 09:57:12 MMB new thumbnail OCX Rev 1.3 05 Jul 1995 14:11:26 MMB new Thumb OCX Rev 1.2 08 Jun 1995 09:40:20 MMB renamed thumb,scan.h to thumbocx & scanocx.h Rev 1.1 02 Jun 1995 12:11:36 MMB new Thumb OCX Rev 1.0 31 May 1995 09:28:36 MMB Initial entry */ //============================================================================= // ----------------------------> Includes <------------------------------- #include "stdafx.h" #include "thumbocx.h" // ----------------------------> Globals <------------------------------- ///////////////////////////////////////////////////////////////////////////// // _DThumb properties long _DThumb::GetThumbCount() { long result; GetProperty(0x1, VT_I4, (void*)&result); return result; } void _DThumb::SetThumbCount(long propVal) { SetProperty(0x1, VT_I4, propVal); } long _DThumb::GetThumbWidth() { long result; GetProperty(0x2, VT_I4, (void*)&result); return result; } void _DThumb::SetThumbWidth(long propVal) { SetProperty(0x2, VT_I4, propVal); } long _DThumb::GetThumbHeight() { long result; GetProperty(0x3, VT_I4, (void*)&result); return result; } void _DThumb::SetThumbHeight(long propVal) { SetProperty(0x3, VT_I4, propVal); } short _DThumb::GetScrollDirection() { short result; GetProperty(0x4, VT_I2, (void*)&result); return result; } void _DThumb::SetScrollDirection(short propVal) { SetProperty(0x4, VT_I2, propVal); } short _DThumb::GetThumbCaptionStyle() { short result; GetProperty(0x5, VT_I2, (void*)&result); return result; } void _DThumb::SetThumbCaptionStyle(short propVal) { SetProperty(0x5, VT_I2, propVal); } LPDISPATCH _DThumb::GetThumbCaptionFont() { LPDISPATCH result; GetProperty(0x7, VT_DISPATCH, (void*)&result); return result; } void _DThumb::SetThumbCaptionFont(LPDISPATCH propVal) { SetProperty(0x7, VT_DISPATCH, propVal); } BOOL _DThumb::GetHighlightSelectedThumbs() { BOOL result; GetProperty(0x8, VT_BOOL, (void*)&result); return result; } void _DThumb::SetHighlightSelectedThumbs(BOOL propVal) { SetProperty(0x8, VT_BOOL, propVal); } long _DThumb::GetSelectedThumbCount() { long result; GetProperty(0x9, VT_I4, (void*)&result); return result; } void _DThumb::SetSelectedThumbCount(long propVal) { SetProperty(0x9, VT_I4, propVal); } long _DThumb::GetFirstSelectedThumb() { long result; GetProperty(0xa, VT_I4, (void*)&result); return result; } void _DThumb::SetFirstSelectedThumb(long propVal) { SetProperty(0xa, VT_I4, propVal); } long _DThumb::GetLastSelectedThumb() { long result; GetProperty(0xb, VT_I4, (void*)&result); return result; } void _DThumb::SetLastSelectedThumb(long propVal) { SetProperty(0xb, VT_I4, propVal); } CString _DThumb::GetThumbCaption() { CString result; GetProperty(0xc, VT_BSTR, (void*)&result); return result; } void _DThumb::SetThumbCaption(LPCTSTR propVal) { SetProperty(0xc, VT_BSTR, propVal); } long _DThumb::GetStatusCode() { long result; GetProperty(0xf, VT_I4, (void*)&result); return result; } void _DThumb::SetStatusCode(long propVal) { SetProperty(0xf, VT_I4, propVal); } CString _DThumb::GetImage() { CString result; GetProperty(0x10, VT_BSTR, (void*)&result); return result; } void _DThumb::SetImage(LPCTSTR propVal) { SetProperty(0x10, VT_BSTR, propVal); } short _DThumb::GetMousePointer() { short result; GetProperty(0x11, VT_I2, (void*)&result); return result; } void _DThumb::SetMousePointer(short propVal) { SetProperty(0x11, VT_I2, propVal); } LPDISPATCH _DThumb::GetMouseIcon() { LPDISPATCH result; GetProperty(0x12, VT_DISPATCH, (void*)&result); return result; } void _DThumb::SetMouseIcon(LPDISPATCH propVal) { SetProperty(0x12, VT_DISPATCH, propVal); } short _DThumb::GetBorderStyle() { short result; GetProperty(0xfffffe08, VT_I2, (void*)&result); return result; } void _DThumb::SetBorderStyle(short propVal) { SetProperty(0xfffffe08, VT_I2, propVal); } BOOL _DThumb::GetEnabled() { BOOL result; GetProperty(0xfffffdfe, VT_BOOL, (void*)&result); return result; } void _DThumb::SetEnabled(BOOL propVal) { SetProperty(0xfffffdfe, VT_BOOL, propVal); } short _DThumb::GetHWnd() { short result; GetProperty(0xfffffdfd, VT_I2, (void*)&result); return result; } void _DThumb::SetHWnd(short propVal) { SetProperty(0xfffffdfd, VT_I2, propVal); } long _DThumb::GetFirstDisplayedThumb() { long result; GetProperty(0x13, VT_I4, (void*)&result); return result; } void _DThumb::SetFirstDisplayedThumb(long propVal) { SetProperty(0x13, VT_I4, propVal); } long _DThumb::GetLastDisplayedThumb() { long result; GetProperty(0x14, VT_I4, (void*)&result); return result; } void _DThumb::SetLastDisplayedThumb(long propVal) { SetProperty(0x14, VT_I4, propVal); } ///////////////////////////////////////////////////////////////////////////// // _DThumb operations void _DThumb::SelectAllThumbs() { InvokeHelper(0x65, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); } void _DThumb::DeselectAllThumbs() { InvokeHelper(0x66, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); } long _DThumb::GetMinimumSize(long ThumbCount, BOOL ScrollBar) { long result; static BYTE BASED_CODE parms[] = VTS_I4 VTS_BOOL; InvokeHelper(0x67, DISPATCH_METHOD, VT_I4, (void*)&result, parms, ThumbCount, ScrollBar); return result; } long _DThumb::GetMaximumSize(long ThumbCount, BOOL ScrollBar) { long result; static BYTE BASED_CODE parms[] = VTS_I4 VTS_BOOL; InvokeHelper(0x68, DISPATCH_METHOD, VT_I4, (void*)&result, parms, ThumbCount, ScrollBar); return result; } void _DThumb::ClearThumbs(const VARIANT& PageNumber) { static BYTE BASED_CODE parms[] = VTS_VARIANT; InvokeHelper(0x69, DISPATCH_METHOD, VT_EMPTY, NULL, parms, &PageNumber); } void _DThumb::InsertThumbs(const VARIANT& InsertBeforeThumb, const VARIANT& InsertCount) { static BYTE BASED_CODE parms[] = VTS_VARIANT VTS_VARIANT; InvokeHelper(0x6a, DISPATCH_METHOD, VT_EMPTY, NULL, parms, &InsertBeforeThumb, &InsertCount); } void _DThumb::DeleteThumbs(long DeleteAt, const VARIANT& DeleteCount) { static BYTE BASED_CODE parms[] = VTS_I4 VTS_VARIANT; InvokeHelper(0x6b, DISPATCH_METHOD, VT_EMPTY, NULL, parms, DeleteAt, &DeleteCount); } void _DThumb::DisplayThumbs(const VARIANT& ThumbNumber, const VARIANT& Option) { static BYTE BASED_CODE parms[] = VTS_VARIANT VTS_VARIANT; InvokeHelper(0x6c, DISPATCH_METHOD, VT_EMPTY, NULL, parms, &ThumbNumber, &Option); } void _DThumb::GenerateThumb(short Option, const VARIANT& PageNumber) { // static BYTE BASED_CODE parms[] = // VTS_I2 VTS_VARIANT; // InvokeHelper(0x6d, DISPATCH_METHOD, VT_EMPTY, NULL, parms, // Option, &PageNumber); } BOOL _DThumb::ScrollThumbs(short Direction, short Amount) { BOOL result; static BYTE BASED_CODE parms[] = VTS_I2 VTS_I2; InvokeHelper(0x6e, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, Direction, Amount); return result; } BOOL _DThumb::UISetThumbSize(const VARIANT& Image, const VARIANT& Page) { BOOL result; static BYTE BASED_CODE parms[] = VTS_VARIANT VTS_VARIANT; InvokeHelper(0x6f, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, &Image, &Page); return result; } long _DThumb::GetScrollDirectionSize(long ScrollDirectionThumbCount, long NonScrollDirectionThumbCount, long NonScrollDirectionSize, BOOL ScrollBar) { long result; static BYTE BASED_CODE parms[] = VTS_I4 VTS_I4 VTS_I4 VTS_BOOL; InvokeHelper(0x70, DISPATCH_METHOD, VT_I4, (void*)&result, parms, ScrollDirectionThumbCount, NonScrollDirectionThumbCount, NonScrollDirectionSize, ScrollBar); return result; } void _DThumb::Refresh() { InvokeHelper(0xfffffdda, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); } long _DThumb::GetThumbPositionX(long ThumbNumber) { long result; static BYTE BASED_CODE parms[] = VTS_I4; InvokeHelper(0x71, DISPATCH_METHOD, VT_I4, (void*)&result, parms, ThumbNumber); return result; } long _DThumb::GetThumbPositionY(long ThumbNumber) { long result; static BYTE BASED_CODE parms[] = VTS_I4; InvokeHelper(0x72, DISPATCH_METHOD, VT_I4, (void*)&result, parms, ThumbNumber); return result; } CString _DThumb::GetVersion() { CString result; InvokeHelper(0x73, DISPATCH_METHOD, VT_BSTR, (void*)&result, NULL); return result; } BOOL _DThumb::GetThumbSelected(long PageNumber) { BOOL result; static BYTE BASED_CODE parms[] = VTS_I4; InvokeHelper(0xc8, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms, PageNumber); return result; } void _DThumb::SetThumbSelected(long PageNumber, BOOL bNewValue) { static BYTE BASED_CODE parms[] = VTS_I4 VTS_BOOL; InvokeHelper(0xc8, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, PageNumber, bNewValue); } void _DThumb::AboutBox() { InvokeHelper(0xfffffdd8, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); } ///////////////////////////////////////////////////////////////////////////// // _DThumbEvents properties ///////////////////////////////////////////////////////////////////////////// // _DThumbEvents operations void _DThumbEvents::Click(long ThumbNumber) { static BYTE BASED_CODE parms[] = VTS_I4; InvokeHelper(0x1, DISPATCH_METHOD, VT_EMPTY, NULL, parms, ThumbNumber); } void _DThumbEvents::DblClick(long ThumbNumber) { static BYTE BASED_CODE parms[] = VTS_I4; InvokeHelper(0x2, DISPATCH_METHOD, VT_EMPTY, NULL, parms, ThumbNumber); } void _DThumbEvents::MouseDown(short Button, short Shift, long x, long y, long ThumbNumber) { static BYTE BASED_CODE parms[] = VTS_I2 VTS_I2 VTS_I4 VTS_I4 VTS_I4; InvokeHelper(0x3, DISPATCH_METHOD, VT_EMPTY, NULL, parms, Button, Shift, x, y, ThumbNumber); } void _DThumbEvents::MouseUp(short Button, short Shift, long x, long y, long ThumbNumber) { static BYTE BASED_CODE parms[] = VTS_I2 VTS_I2 VTS_I4 VTS_I4 VTS_I4; InvokeHelper(0x4, DISPATCH_METHOD, VT_EMPTY, NULL, parms, Button, Shift, x, y, ThumbNumber); } void _DThumbEvents::MouseMove(short Button, short Shift, long x, long y, long ThumbNumber) { static BYTE BASED_CODE parms[] = VTS_I2 VTS_I2 VTS_I4 VTS_I4 VTS_I4; InvokeHelper(0x5, DISPATCH_METHOD, VT_EMPTY, NULL, parms, Button, Shift, x, y, ThumbNumber); } void _DThumbEvents::Error(short Number, BSTR* Description, long Scode, LPCTSTR Source, LPCTSTR HelpFile, long HelpContext, BOOL* CancelDisplay) { static BYTE BASED_CODE parms[] = VTS_I2 VTS_PBSTR VTS_I4 VTS_BSTR VTS_BSTR VTS_I4 VTS_PBOOL; InvokeHelper(0xfffffda0, DISPATCH_METHOD, VT_EMPTY, NULL, parms, Number, Description, Scode, Source, HelpFile, HelpContext, CancelDisplay); } void _DThumbEvents::KeyDown(short* KeyCode, short Shift) { static BYTE BASED_CODE parms[] = VTS_PI2 VTS_I2; InvokeHelper(0xfffffda6, DISPATCH_METHOD, VT_EMPTY, NULL, parms, KeyCode, Shift); } void _DThumbEvents::KeyUp(short* KeyCode, short Shift) { static BYTE BASED_CODE parms[] = VTS_PI2 VTS_I2; InvokeHelper(0xfffffda4, DISPATCH_METHOD, VT_EMPTY, NULL, parms, KeyCode, Shift); }