home *** CD-ROM | disk | FTP | other *** search
- //
- //**************************************************************************
- //
- // BHatch.cpp -- An implementation of the hatched border around inplace
- // active windows.
- //
- // Copyright (c) 1993,94 by Borland International, Inc. All rights reserved
- //
- //**************************************************************************
-
- #ifndef HATCH_H
- #define HATCH_H
-
- #include "BOleSite.h"
-
- #define CLIPPED 0x0001
- #define CLIPPED_LEFT 0x0002
- #define CLIPPED_TOP 0x0004
- #define CLIPPED_TOPLEFT CLIPPED_LEFT|CLIPPED_TOP
-
- void SetRectExt (RECT FAR *,UINT,UINT,UINT);
-
- class BOleHatchWindow {
-
- public:
-
- BOleHatchWindow (HWND,HINSTANCE,BOleSite*);
- ~BOleHatchWindow();
-
- static Register (HINSTANCE hInst); // register window
- static void InitWidth ();
-
- // window messages related member functions
- #ifdef ANSI
- LRESULT wmCreate (LPCREATESTRUCTA);
- #else
- LRESULT wmCreate (LPCREATESTRUCT);
- #endif
- LRESULT wmPaint ();
- UINT wmNCHitTest (LPPOINT);
- LRESULT wmSetCursor (HWND, UINT, UINT);
- UINT wmMouseActivate (HWND, UINT, UINT);
- LRESULT wmNCLButtonDown (UINT, LPPOINT);
- LRESULT wmGetMinMaxInfo (MINMAXINFO*);
- LRESULT wmWindowPosChanging (LPWINDOWPOS);
-
- void Show (BOOL, LPOLEINPLACESITE = NULL);
- void SetSize (LPRECT,LPRECT,LPPOINT);
- void NegotiateSize (WINDOWPOS*);
- UINT GetWidth ();
-
- operator HWND () {return hWndHatch;}
-
- protected:
-
- static UINT hatchWidth; // hatch border size
-
- HWND hWndHatch; // hatch window handle
- RECT hatchRect; // keep server window rectangle in client coordinates
-
- int nClippedFlag; // clipped status flag
- RECT MoveRect; // temp rect used only inside WM_WINDOWPOSCHANGING (orrible!)
- BOOL fInMouseDown; // used to signal when mouse left button is kept down
-
- LPOLEINPLACESITE pSite;
- BOleSite * pBack;
-
- };
-
- #endif
-
-