home *** CD-ROM | disk | FTP | other *** search
- /**************************************************************************
- THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
- ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
- PARTICULAR PURPOSE.
-
- Copyright 1997 Microsoft Corporation. All Rights Reserved.
- **************************************************************************/
-
- /**************************************************************************
-
- File: DockWndw.h
-
- Description: CDockingWindow definitions.
-
- **************************************************************************/
-
- #include <windows.h>
- #include <shlobj.h>
-
- #if (_WIN32_IE < 0x0400)
- #define CDockingWindow IUnknown
-
- #else //(_WIN32_IE >= 0x0400)
-
- #include "ShlView.h"
-
- #ifndef DOCKINGWINDOW_H
- #define DOCKINGWINDOW_H
-
- #define SHTB_CLASS_NAME (TEXT("RegViewToolbarClass"))
-
- /**************************************************************************
- global variables
- **************************************************************************/
-
- extern HINSTANCE g_hInst;
- extern UINT g_DllRefCount;
-
- #define TOOLBAR_HEIGHT 50
-
- /**************************************************************************
-
- CDockingWindow class definition
-
- **************************************************************************/
-
- class CDockingWindow : public IDockingWindow, public IInputObject, public IObjectWithSite
- {
- protected:
- DWORD m_ObjRefCount;
-
- public:
- CDockingWindow(CShellView*, HWND);
- ~CDockingWindow();
-
- //IUnknown methods
- STDMETHODIMP QueryInterface(REFIID, LPVOID*);
- STDMETHODIMP_(DWORD) AddRef();
- STDMETHODIMP_(DWORD) Release();
-
- //IOleWindow methods
- STDMETHOD (GetWindow) (HWND*);
- STDMETHOD (ContextSensitiveHelp) (BOOL);
-
- //IDockingWindow methods
- STDMETHOD (ShowDW) (BOOL fShow);
- STDMETHOD (CloseDW) (DWORD dwReserved);
- STDMETHOD (ResizeBorderDW) (LPCRECT prcBorder, IUnknown* punkToolbarSite, BOOL fReserved);
-
- //IInputObject methods
- STDMETHOD (UIActivateIO) (BOOL, LPMSG);
- STDMETHOD (HasFocusIO) (void);
- STDMETHOD (TranslateAcceleratorIO) (LPMSG);
-
- //IObjectWithSite methods
- STDMETHOD (SetSite) (IUnknown*);
- STDMETHOD (GetSite) (REFIID, LPVOID*);
-
- private:
- BOOL NegotiateBorderSpace(IDockingWindowSite*, LPCRECT prcBorder = NULL);
- RECT m_rcDisplay;
- BOOL m_bFocus;
- HWND m_hwndParent;
- HWND m_hWnd;
- HWND m_hwndCommand;
- CShellView *m_pView;
- IDockingWindowSite *m_pSite;
-
- private:
- void FocusChange(BOOL);
- LRESULT OnKillFocus(void);
- LRESULT OnSetFocus(void);
- static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam);
- LRESULT OnPaint(void);
- LRESULT OnCommand(WPARAM wParam, LPARAM lParam);
- };
-
- #endif //DOCKINGWINDOW_H
-
- #endif //(_WIN32_IE >= 0x0400)
-