OWLNext    7.0
Borland's Object Windows Library for the modern age
Loading...
Searching...
No Matches
ocf::TOleWindow Class Reference

The generic OLE2 window. Use as a client of a frame window. More...

#include <ocf/olewindo.h>

Inheritance diagram for ocf::TOleWindow:
owl::TWindow owl::TEventHandler owl::TStreamableBase ocf::TOleDialog ocf::TOleView

Public Member Functions

 TOleWindow (owl::TWindow *parent=0, owl::TModule *module=0)
 Constructs a TOleWindow object associated with the specified parent window and module instance.
 
 ~TOleWindow ()
 Checks to see if there are any open views, and, if no open views exist, destroys the TOleWindow object.
 
TOcDocumentGetOcDoc ()
 Returns the ObjectComponents document associated with this window.
 
TOcViewGetOcView ()
 Points to the ObjectComponents container view associated with this window.
 
TOcRemViewGetOcRemView ()
 Returns the server's view associated with this window.
 
TOcAppGetOcApp ()
 Returns the ObjectComponents application associated with this window.
 
bool HasActivePart ()
 Returns true if the container's view holds an in-place active embedded object.
 
bool SelectEmbedded ()
 Selects the embedded object and returns true to indicate that the object has been selected.
 
Query about current state
bool IsOpenEditing () const
 Checks whether the window is in Open-Edit mode.
 
bool IsRemote () const
 Returns true if the window represents an embedded server.
 
Virtuals that derived class can override
virtual bool OleShutDown ()
 Shuts down the associated ObjectComponents partners, if possible.
 
virtual void SetupDC (owl::TDC &dc, bool scale=true)
 Determines the viewport's origin and extent (the logical coordinates and the size of the device context).
 
virtual TOcViewCreateOcView (owl::TRegLink *link, bool isRemote, IUnknown *outer)
 Called to perform the actual setting up of the OcView member.
 
Helper routines to create new objects or controls [Container specific]
TOcPartInsertObject (TOcInitInfo &initInfo, owl::TRect *pos=0)
 
TOcPartInsertObject (CLSID &objIID, owl::TRect *pos=0)
 
TOcPartInsertObject (owl::TString &objProgId, owl::TRect *pos=0)
 
TOcControlInsertControl (TOcInitInfo &initInfo, owl::TRect *pos=0, int id=0)
 
TOcControlInsertControl (CLSID &ocxIID, owl::TRect *pos=0, int id=0)
 
TOcControlInsertControl (const owl::TString &ocxProgID, owl::TRect *pos=0, int id=0)
 
Helper routines to retrieve information about parts (embeddings/ocxes)
TOcControlGetOcControlOfOCX (CLSID ocxIID, owl::uint id=0)
 
- Public Member Functions inherited from owl::TWindow
void TraceWindowPlacement ()
 
 TWindow (TWindow *parent, LPCTSTR title=nullptr, TModule *module=nullptr)
 Adds this to the child list of parent if nonzero, and calls EnableAutoCreate so that this will be created and displayed along with parent.
 
 TWindow (TWindow *parent, const tstring &title, TModule *module=nullptr)
 String-aware overload.
 
 TWindow (HWND handle, TModule *module=nullptr)
 Constructs a TWindow that is used as an alias for a non-ObjectWindows window, and sets wfAlias.
 
virtual ~TWindow () override
 Destroys this window (unless this is an alias) and the children.
 
TApplicationGetApplication () const
 Gets a pointer to the TApplication object associated with this.
 
virtual bool Register ()
 Registers the Windows registration class of this window, if this window is not already registered.
 
TScrollerGetScroller ()
 Returns the associated scroller object for this window.
 
void SetScroller (TScroller *scroller)
 Sets the scroller object for this window.
 
virtual void CloseWindow (int retVal=0)
 Determines if it is okay to close a window before actually closing the window.
 
TWindowAttrGetWindowAttr ()
 Returns the TWindowAttr structure, which contains the window's creation attributes.
 
const TWindowAttrGetWindowAttr () const
 Returns the TWindowAttr structure, which contains the window's creation attributes.
 
LPCTSTR GetCaption () const
 Returns the Title member of TWindow.
 
void ChildBroadcastMessage (TMsgId, TParam1=0, TParam2=0)
 Sends the specified message to all immediate children using SendMessage.
 
TResult HandleMessage (TMsgId, TParam1=0, TParam2=0)
 Dispatches the given message using the response table.
 
virtual TResult EvNotify (uint id, TNotify &notifyInfo)
 Handles WM_NOTIFY and subdispatch messages from child controls.
 
TResult DefaultProcessing ()
 Handles default processing of events, which includes continued processing of menu/accelerators commands and enablers, as well as notifications.
 
virtual void Paint (TDC &dc, bool erase, TRect &rect)
 Repaints the client area (the area you can use for drawing) of a window.
 
void SubclassWindowFunction ()
 Installs the instance thunk as the WindowProc and saves the old window function in DefaultProc.
 
void SetFlag (uint mask)
 Sets the specified TWindow wfXxxx constant flags (for example wfAlias, wfTransfer, and so on) in the Flags member.
 
void ClearFlag (uint mask)
 Clears the specified TWindow wfXxxx constant flags (for example wfAlias, wfTransfer, and so on) in the Flags member.
 
bool IsFlagSet (uint mask)
 Returns the state of the bit flag in Attr.Flags whose mask is supplied.
 
void EnableAutoCreate ()
 Ensures that an associated child window interface element is created and displayed along with its parent window.
 
void DisableAutoCreate ()
 Disables the feature that allows an associated child window interface element to be created and displayed along with its parent window.
 
virtual TTooltipGetTooltip () const
 
virtual void EnableTooltip (bool enable=true)
 
void SetTooltip (TTooltip *tooltip)
 
void EnableTransfer ()
 Enables the transfer mechanism, which allows state data to be transferred between the window and a transfer buffer.
 
void DisableTransfer ()
 Disables (for the interface object) the transfer mechanism, which allows state data to be transferred to and from a transfer buffer.
 
TModuleGetModule () const
 Returns a pointer to the module object.
 
void SetModule (TModule *module)
 Sets the default module for this window.
 
tstring LoadString (uint id) const
 
HBITMAP LoadBitmap (TResId id) const
 
HACCEL LoadAccelerators (TResId id) const
 
HMENU LoadMenu (TResId id) const
 
HCURSOR LoadCursor (TResId id) const
 
HICON LoadIcon (TResId id) const
 
std::string LoadHtml (TResId id) const
 
virtual bool Create ()
 Creates the window interface element to be associated with this ObjectWindows interface element.
 
bool CreateChildren ()
 Creates the child windows in the child list whose auto-create flags (with wfAutoCreate mask) are set.
 
virtual void Destroy (int retVal=0)
 Destroys an MS-Windows element associated with the TWindow.
 
virtual int Execute ()
 Creates the underlying HWND and makes it modal with the help of TApplication's BeginModal support.
 
virtual int DoExecute ()
 Do actual modal execution using the Begin/End Modal support of TApplication.
 
void AttachHandle (HWND handle)
 
void DetachHandle ()
 
virtual bool PreProcessMsg (MSG &msg)
 Called from TApplication::ProcessAppMsg() to give the window an opportunity to perform preprocessing of the Windows message.
 
virtual bool IdleAction (long idleCount)
 Called when no messages are waiting to be processed, IdleAction performs idle processing as long as true is returned.
 
virtual bool HoldFocusHWnd (HWND hLose, HWND hGain)
 Responds to a request by a child window to hold its HWND when it is losing focus.
 
int GetId () const
 Returns Attr.Id, the ID used to find the window in a specified parent's child list.
 
auto ChildWithId (int id) const -> const TWindow *
 
auto ChildWithId (int id) -> TWindow *
 Returns a pointer to the window in the child window list that has the supplied id.
 
HWND GetParentH () const
 Return the handle of the parent.
 
TWindowGetParentO () const
 Return the OWL's parent for this window.
 
TWindowGetParent () const
 Retrieves the OWL object of the parent window. If none exists, returns 0.
 
virtual void SetParent (TWindow *newParent)
 Sets the parent for the specified window by setting Parent to the specified new Parent window object.
 
void SetNext (TWindow *next)
 Sets the next window in the sibling list.
 
virtual bool SetDocTitle (LPCTSTR docname, int index)
 Default behavior for updating document title is to pass it to parent frame.
 
bool SetDocTitle (const tstring &docname, int index)
 
void SetCaption (LPCTSTR title)
 Copies title to an allocated string pointed to by title.
 
void SetCaption (const tstring &title)
 
void SetCaption (uint resourceStringId)
 Sets the window title to the resource string identified by the given id.
 
bool SetCursor (TModule *module, TResId resId)
 Sets the mouse cursor for the window, loading the given resId from the given module.
 
auto GetBkgndColor () const -> TColor
 Returns the overriding background color set for the window.
 
void SetBkgndColor (TColor color, bool shouldUpdate=true)
 Sets the background color for the window.
 
auto GetTextColor () const -> TColor
 Returns the overriding text color set for the window.
 
void SetTextColor (TColor color, bool shouldUpdate=true)
 Sets the text color for the window.
 
void SetAcceleratorTable (TResId resId)
 
TResult ForwardMessage (HWND handle, bool send=true)
 Forwards the window's current message.
 
TResult ForwardMessage (bool send=true)
 Forwards the window's current message.
 
void SendNotification (int id, int notifyCode, HWND hCtl, TMsgId=WM_COMMAND)
 Repacks a command message (msg) so that a child window (hCtl) can send a message to its parent regardless of whether this is a WIN16 or WIN32 application.
 
void SendNotification (HWND receiver, int id, int notifyCode, HWND hCtl, TMsgId=WM_COMMAND)
 Repacks a command message (msg) so that a child window (hCtl) can send a message to its parent regardless of whether this is a WIN16 or WIN32 application.
 
TResult SendNotification (int id, NMHDR &, TMsgId=WM_NOTIFY)
 Repacks a command message (msg) so that a child window (hCtl) can send a message to its parent regardless of whether this is a WIN16 or WIN32 application.
 
TResult SendNotification (HWND receiver, uint id, NMHDR &, TMsgId=WM_NOTIFY)
 Repacks a command message (msg) so that a child window (hCtl) can send a message to its parent regardless of whether this is a WIN16 or WIN32 application.
 
virtual TResult WindowProc (TMsgId, TParam1, TParam2)
 First virtual function called to handling incoming messages to a TWindow.
 
virtual TResult DefWindowProc (TMsgId, TParam1, TParam2)
 Virtual function provides final default processing for an incoming message Calls original window proc that was subclassed, using ::CallWindowProc to make sure that registers get setup correctly.
 
void RouteCommandEnable (HWND hInitCmdTarget, TCommandEnabler &ce)
 Walks the chain of windows from the initial target window to this window.
 
void SetTransferBuffer (void *transferBuffer, uint size)
 Sets TransferBuffer and TransferBufferSize.
 
template<class TBuffer >
void SetTransferBuffer (TBuffer *transferBuffer)
 Sets TransferBuffer and TransferBufferSize.
 
template<class TElement , uint Count>
void SetTransferBuffer (TElement(&transferBuffer)[Count])
 Sets TransferBuffer and TransferBufferSize.
 
voidGetTransferBuffer () const
 
uint GetTransferBufferSize () const
 
virtual uint Transfer (void *buffer, TTransferDirection direction)
 Transfers data to or from any window with or without children and returns the total size of the data transferred.
 
virtual void TransferData (TTransferDirection direction)
 Transfers data between the TWindow's data buffer and the child windows in its ChildList (data is not transfered between any child windows whose wfTransfer flag is not set)
 
HWND GetHandle () const
 Returns the handle of the window.
 
 operator HWND () const
 Allows a TWindow& to be used as an HWND in Windows API calls by providing an implicit conversion from TWindow to HWND.
 
bool IsWindow () const
 Returns true if an HWND is being used.
 
auto GetClassName (TCHAR *className, int maxCount) const -> int
 Returns the Windows class name for this object's window handle.
 
long GetClassLong (int index) const
 Retrieves the 32-bit value containing information about the window class.
 
long SetClassLong (int index, long newLong)
 Sets the long value at the specified offset (index).
 
uint16 GetClassWord (int index) const
 Gets a 16-bit value containing information about the class or style of the window.
 
uint16 SetClassWord (int index, uint16 newWord)
 Sets the word value at the specified offset (index).
 
LONG_PTR GetWindowLongPtr (int index) const
 Retrieves information about the window depending on the value stored in index.
 
LONG_PTR SetWindowLongPtr (int index, LONG_PTR newLong)
 Changes information about the window. For a list of constants, see GetWindowLongPtr()
 
long GetWindowLong (int index) const
 Retrieves information about the window depending on the value stored in index.
 
long SetWindowLong (int index, long newLong)
 Changes information about the window.
 
uint16 GetWindowWord (int index) const
 Retrieves information about this window depending on the value of index.
 
uint16 SetWindowWord (int index, uint16 newWord)
 Changes information about the window.
 
WNDPROC GetWindowProc () const
 
WNDPROC SetWindowProc (WNDPROC wndProc)
 
int EnumProps (PROPENUMPROC proc)
 Enumerates all the items in the property list of the current window and passes them one by one to the callback function indicated in proc.
 
HANDLE GetProp (uint16 atom) const
 Returns a handle to the property list of the specified window.
 
HANDLE RemoveProp (uint16 atom) const
 Removes the property specified by atom from the application's property list.
 
bool SetProp (uint16 atom, HANDLE data) const
 Adds an item to the property list of the specified window.
 
HANDLE GetProp (LPCTSTR str) const
 Returns a handle to the property list of the specified window.
 
HANDLE GetProp (const tstring &str) const
 
HANDLE RemoveProp (LPCTSTR str) const
 Removes the property specified by str, a null-terminated string, from the application's property list.
 
HANDLE RemoveProp (const tstring &str) const
 
bool SetProp (LPCTSTR str, HANDLE data) const
 Adds an item to the property list of the specified window.
 
bool SetProp (const tstring &str, HANDLE data) const
 
uint32 GetStyle () const
 Gets the style bits of the underlying window or the 'Style' member of the attribute structure associated with this TWindow object.
 
uint32 SetStyle (uint32 style)
 Sets the style bits of the underlying window or the 'Style' member of the attribute structure associated with this TWindow object.
 
uint32 GetExStyle () const
 Gets the extra style bits of the window.
 
uint32 SetExStyle (uint32 style)
 Sets the extra style bits of the window.
 
bool ModifyStyle (uint32 offBits, uint32 onBits, uint swpFlags=0)
 Modifies the style bits of the window.
 
bool ModifyExStyle (uint32 offBits, uint32 onBits, uint swpFlags=0)
 Modifies the style bits of the window.
 
bool MoveWindow (int x, int y, int w, int h, bool repaint=false)
 Repositions the specified window.
 
bool MoveWindow (const TRect &rect, bool repaint=false)
 Repositions the window.
 
virtual bool ShowWindow (int cmdShow)
 Displays this TWindow in a given state.
 
void ShowOwnedPopups (bool show)
 Shows or hides all owned pop-up windows according to the value of show.
 
bool IsWindowVisible () const
 Returns true if the window is visible.
 
bool IsZoomed () const
 Returns true if window is zoomed or maximized.
 
bool IsIconic () const
 Returns true if window is iconic or minimized.
 
int GetWindowTextLength () const
 Returns the length, in characters, of the specified window's title.
 
int GetWindowText (TCHAR *str, int maxCount) const
 Copies the window's title into a buffer pointed to by string.
 
tstring GetWindowText () const
 String-aware overload.
 
void SetWindowText (LPCTSTR str)
 Sets the window's text to the given string (by copying).
 
void SetWindowText (const tstring &str)
 
void SetWindowText (uint resourceStringId)
 Sets the window title to the resource string identified by the given id.
 
WINDOWPLACEMENT GetWindowPlacement () const
 Wrapper for Windows API.
 
void SetWindowPlacement (const WINDOWPLACEMENT &place)
 Wrapper for Windows API.
 
virtual void Invalidate (bool erase=true)
 Invalidates (mark for painting) the entire client area of a window.
 
virtual void InvalidateRect (const TRect &rect, bool erase=true)
 Invalidates a specified client area.
 
void InvalidateRgn (HRGN hRgn, bool erase=true)
 Invalidates a client area within a region specified by the hRgn parameter when the application receives a WM_PAINT message.
 
void Validate ()
 Calls the function ValidateRect to validate (that is, remove from the area to be updated) the entire client area (the area you can use for drawing).
 
void ValidateRect (const TRect &rect)
 Validates a portion of the client area indicated by rect.
 
void ValidateRgn (HRGN hRgn)
 Validates the client area within a region of the current window.
 
void UpdateWindow ()
 Updates the client area of the specified window by immediately sending a WM_PAINT message.
 
bool FlashWindow (bool invert)
 Changes the window from active to inactive or vice versa.
 
bool GetUpdateRect (TRect &rect, bool erase=true) const
 Retrieves the screen coordinates of the rectangle that encloses the updated region of the specified window.
 
int GetUpdateRgn (TRegion &rgn, bool erase=true) const
 Copies a window's update region into a region specified by region.
 
bool LockWindowUpdate (bool lock=true)
 Prevents or enables window drawing for one window at a time.
 
bool RedrawWindow (TRect *update, HRGN hUpdateRgn, uint redrawFlags=RDW_INVALIDATE|RDW_UPDATENOW|RDW_ERASE)
 Redraws the rectangle specified by update and the region specified by hUpdateRgn.
 
auto GetWindowRgn (TRegion &) const -> int
 Obtains a copy of the region of the window within which the system permits drawing.
 
void ResetWindowRgn (bool repaint=false)
 Calls SetWindowRgn(nullptr, repaint).
 
auto SetWindowRgn (HRGN, bool repaint=false) -> bool
 Sets the area within the window where the system permits drawing.
 
auto SetWindowRgn (const TRegion &, bool repaint=false) -> bool=delete
 
auto SetWindowRgn (TRegion &&r, bool repaint=false) -> bool
 Overload for TRegion.
 
int GetDlgCtrlID () const
 Returns the ID of the control.
 
HWND GetDlgItem (int childId) const
 Retrieves the handle of a control specified by childId.
 
uint GetDlgItemInt (int childId, bool *translated=0, bool isSigned=true) const
 Translates the text of a specified control into an integer value and returns it.
 
void SetDlgItemInt (int childId, uint value, bool isSigned=true) const
 Sets the child window with the Id (childId) in the window to the integer value specified in value.
 
int GetDlgItemText (int childId, TCHAR *text, int maxValue) const
 Retrieves the text of a control specified by childId.
 
tstring GetDlgItemText (int childId) const
 String-aware overload.
 
void SetDlgItemText (int childId, LPCTSTR text) const
 Sets the title or text of a control in a dialog box.
 
void SetDlgItemText (int childId, const tstring &text) const
 
void SetDlgItemText (int childId, uint resourceStringId) const
 
uint IsDlgButtonChecked (int buttonId) const
 Indicates if the child button specified in the integer parameter, buttonId, is checked, or if a button is grayed, checked, or neither.
 
bool IsChild (HWND hWnd) const
 Returns true if the window is a child window or a descendant window of this window.
 
HWND GetNextDlgGroupItem (HWND hWndCtrl, bool previous=false) const
 Returns either the next or the previous control in the dialog box.
 
HWND GetNextDlgTabItem (HWND hWndCtrl, bool previous=false) const
 Returns the handle of the first control that lets the user press the Tab key to move to the next control (that is, the first control with the WS_TABSTOP style associated with it).
 
void CheckDlgButton (int buttonId, uint check)
 Places a check mark in (or removes a check mark from) the button specified in buttonId.
 
void CheckRadioButton (int firstButtonId, int lastButtonId, int checkButtonId)
 Checks the radio button specified by checkButtonId and removes the check mark from the other radio buttons in the group.
 
void SetDlgItemFont (int childId, HFONT f, bool redraw=false) const
 
HFONT GetDlgItemFont (int childId) const
 
TRect GetDlgItemRect (int childId) const
 Returns the window rectangle of the given child, specified in this window's client coordinates.
 
HMENU GetMenu () const
 Returns the handle to the menu of the indicated window.
 
HMENU GetSystemMenu (bool revert=false) const
 Returns a handle to the system menu so that an application can access the system menu.
 
bool SetMenu (HMENU hMenu)
 Sets the specified window's menu to the menu indicated by hMenu.
 
bool HiliteMenuItem (HMENU hMenu, uint idItem, uint hilite)
 Either highlights or removes highlighting from a top-level item in the menu.
 
void DrawMenuBar ()
 DrawMenuBar redraws the menu bar.
 
bool KillTimer (UINT_PTR timerId)
 Gets rid of the timer and removes any WM_TIMER messages from the message queue.
 
UINT_PTR SetTimer (UINT_PTR timerId, uint timeout, TIMERPROC proc=0)
 Creates a timer object associated with this window.
 
bool RegisterHotKey (int idHotKey, uint modifiers, uint virtKey)
 Registers a hotkey ID with the current application.
 
bool UnregisterHotKey (int idHotKey)
 Unregisters a hotkey ID with the current application.
 
bool WinHelp (LPCTSTR helpFile, uint command, ULONG_PTR data) const
 Invokes a specified help system.
 
bool WinHelp (const tstring &helpFile, uint command, ULONG_PTR data) const
 
void AssignContextMenu (TPopupMenu *menu)
 Associates a pop-up menu with the window so that it can automatically handle a WM_CONTEXTMENU message.
 
TPopupMenuGetContextMenu () const
 Returns the associated popup menu used by the window.
 
int MessageBox (LPCTSTR text, LPCTSTR caption=0, uint flags=MB_OK) const
 Creates and displays a message box that contains a message (text), a title (caption), and icons or push buttons (type).
 
int MessageBox (const tstring &text, const tstring &caption=tstring(), uint flags=MB_OK) const
 
int MessageBox (uint resId, LPCTSTR caption=0, uint flags=MB_OK) const
 
int MessageBox (uint resId, const tstring &caption, uint flags=MB_OK) const
 
auto MessageBoxIndirect (HINSTANCE resourceModule, TResId text, TResId caption, uint flags, TResId icon, DWORD_PTR contextHelpId, MSGBOXCALLBACK, DWORD languageId) const -> int
 Displays a standard message box.
 
auto MessageBoxIndirect (TResId icon, const tstring &text, const tstring &caption, uint flags=MB_OK) const -> int
 Displays a standard message box using the given icon.
 
auto FormatMessageBox (const tstring &formatStr, const tstring &caption, uint flags,...) const -> int
 
auto FormatMessageBox (const tstring &, std::nullptr_t, uint,...) const -> int=delete
 
HTASK GetWindowTask () const
 Returns a handle to the task that created the specified window.
 
void DragAcceptFiles (bool accept)
 If a window can process dropped files, DragAcceptFiles sets accept to true.
 
TCurrentEventGetCurrentEvent ()
 Returns the current event to be processed in the message queue.
 
void SethAccel (HACCEL)
 
auto GetChildren ()
 Returns a TWindow::TChildrenRange that can be iterated by standard means.
 
auto GetChildren () const
 Const overload of TWindow::GetChildren.
 
TWindowNext ()
 Returns a pointer to the next sibling window in the window's sibling list.
 
auto Next () const -> const TWindow *
 
TWindowPrevious ()
 Returns a pointer to the TWindow's previous sibling (the window previous to the TWindow in its parent's child window list)
 
auto Previous () const -> const TWindow *
 
TWindowGetFirstChild ()
 Returns a pointer to the first child window, which is the first window created in the interface object's child list.
 
auto GetFirstChild () const -> const TWindow *
 
TWindowGetLastChild ()
 Returns a pointer to the last child window in the interface object's child list.
 
auto GetLastChild () const -> const TWindow *
 
uint NumChildren () const
 Returns the number of child windows of the window.
 
bool GetScrollInfo (int bar, SCROLLINFO *scrollInfo) const
 Retrieves the properties of the given scroll bar.
 
SCROLLINFO GetScrollInfo (int bar, uint mask=SIF_ALL) const
 Function-style overload Returns selected properties of the given scroll bar.
 
int SetScrollInfo (int bar, SCROLLINFO *scrollInfo, bool redraw=true)
 Sets the properties of the given scroll bar.
 
int GetScrollPos (int bar) const
 Returns the thumb position in the scroll bar.
 
int SetScrollPos (int bar, int pos, bool redraw=true)
 Sets the thumb position in the scroll bar.
 
int GetScrollTrackPos (int bar) const
 Returns the thumb track position in the scroll bar.
 
void GetScrollRange (int bar, int &minPos, int &maxPos) const
 Returns the minimum and maximum positions in the scroll bar.
 
TScrollRange GetScrollRange (int bar) const
 Function-style overload.
 
void SetScrollRange (int bar, int minPos, int maxPos, bool redraw=true)
 Sets the thumb position in the scroll bar.
 
void SetScrollRange (int bar, const TScrollRange &, bool redraw=true)
 Overload taking the range as a pair.
 
int GetScrollPage (int bar) const
 Returns the page property (SCROLLINFO::nPage) of the given scroll bar.
 
void SetScrollPage (int bar, int page, bool redraw=true)
 Sets the page property (SCROLLINFO::nPage) of the given scroll bar.
 
bool EnableScrollBar (uint sbFlags=SB_BOTH, uint arrowFlags=ESB_ENABLE_BOTH)
 Disables or enables one or both of the scroll bar arrows on the scroll bars associated with this window.
 
void ShowScrollBar (int bar, bool show=true)
 Displays or hides the scroll bar.
 
void ScrollWindow (int dx, int dy, const TRect *scroll=nullptr, const TRect *clip=nullptr)
 Scrolls a window in the vertical (dx) and horizontal (dy) directions.
 
void ScrollWindowEx (int dx, int dy, const TRect *scroll=0, const TRect *clip=0, HRGN hUpdateRgn=nullptr, TRect *update=0, uint flags=0)
 Scrolls a window in the vertical (dx) and horizontal (dy) directions.
 
void ShutDownWindow (int retVal=0)
 This inline version of ShutDownWindow calls the static version of ShutDownWindow.
 
TResult SendMessage (TMsgId, TParam1=0, TParam2=0) const
 Sends a message (msg) to a specified window or windows.
 
TResult SendDlgItemMessage (int childId, TMsgId, TParam1=0, TParam2=0)
 Sends a message (msg) to the control specified in childId.
 
bool PostMessage (TMsgId, TParam1=0, TParam2=0)
 Posts a message (msg) to the window in the application's message queue.
 
HWND SetCapture ()
 Sets the mouse capture to the current window.
 
HWND SetFocus ()
 Sets the keyboard focus to current window and activates the window that receives the focus by sending a WM_SETFOCUS message to the window.
 
bool IsWindowEnabled () const
 Returns true if the window is enabled.
 
virtual bool EnableWindow (bool enable)
 Allows the given window to receive input from the keyboard of mouse.
 
void SetRedraw (bool redraw)
 Sends a WM_SETREDRAW message to a window so that changes can be redrawn (redraw = true) or to prevent changes from being redrawn (redraw = false).
 
bool TrackMouseEvent (uint flags=TME_HOVER|TME_LEAVE, int hoverTime=HOVER_DEFAULT)
 Posts messages when the mouse pointer leaves a window or hovers over a window for a specified amount of time.
 
bool CancelMouseEvent (uint flags=TME_HOVER|TME_LEAVE)
 Encapsulates a call to TrackMouseEvent, passing the TME_CANCEL flag.
 
TRACKMOUSEEVENT QueryMouseEventTracking () const
 Returns the current state of mouse event tracking initiated by TrackMouseEvent.
 
void ClientToScreen (TPoint &point) const
 Converts the client coordinates specified in point to screen coordinates for the new window.
 
TPoint MapClientToScreen (const TPoint &p) const
 Function-style version of ClientToScreen.
 
void MapClientToScreen (TPoint *p, int count) const
 Maps the given points, specified in client coordinates in this window, to screen coordinates.
 
template<size_t Count>
void MapClientToScreen (TPoint(&p)[Count]) const
 Overload for array See MapClientToScreen(TPoint*, int).
 
TRect MapClientToScreen (const TRect &r) const
 Functional-style overload for TRect; converts the given rectangle coordinates and returns the result.
 
void ScreenToClient (TPoint &point) const
 Uses the screen coordinates specified in point to calculate the client window's coordinates and then places the new coordinates into point.
 
TPoint MapScreenToClient (const TPoint &p) const
 Functional-style version of ScreenToClient.
 
void MapScreenToClient (TPoint *p, int count) const
 Maps the given points, specified in screen coordinates, to client coordinates in this window.
 
template<size_t Count>
void MapScreenToClient (TPoint(&p)[Count]) const
 Overload for array See MapScreenToClient(TPoint*, int).
 
TRect MapScreenToClient (const TRect &r) const
 Functional-style overload for TRect; converts the given rectangle coordinates and returns the result.
 
void MapWindowPoints (HWND hWndTo, TPoint *pts, int count) const
 Maps a set of points in one window to a relative set of points in another window.
 
void MapWindowPoints (const TWindow &wndTo, TPoint *p, int n) const
 Overload for TWindow See MapWindowPoints(HWND, TPoint*, int).
 
template<size_t Count>
void MapWindowPoints (HWND hWndTo, TPoint(&p)[Count]) const
 Overload for array See MapWindowPoints(HWND, TPoint*, int).
 
template<size_t Count>
void MapWindowPoints (const TWindow &wndTo, TPoint(&p)[Count]) const
 Overload for TWindow and array See MapWindowPoints(HWND, TPoint*, int).
 
TPoint MapWindowPoints (HWND hWndTo, const TPoint &p) const
 Functional-style overload for TPoint; converts the given point coordinates and returns the result.
 
TPoint MapWindowPoints (const TWindow &wndTo, const TPoint &p) const
 Overload for TWindow and TPoint See MapWindowPoints(HWND, const TPoint&).
 
TRect MapWindowPoints (HWND hWndTo, const TRect &r) const
 Functional-style overload for TRect; converts the given rectangle coordinates and returns the result.
 
TRect MapWindowPoints (const TWindow &wndTo, const TRect &r) const
 Overload for TWindow and TRect See MapWindowPoints(HWND, const TRect&).
 
TRect MapWindowRect (HWND hWndTo) const
 Maps the window's rectangle (GetWindowRect) to client coordinates in the given destination window.
 
TRect MapWindowRect (const TWindow &wndTo) const
 Overload for TWindow See MapWindowRect(HWND).
 
TRect MapClientRect (HWND hWndTo) const
 Maps the window's client rectangle (GetClientRect) to client coordinates in the given destination window.
 
TRect MapClientRect (const TWindow &wndTo) const
 Overload for TWindow See MapClientRect(HWND).
 
void GetClientRect (TRect &rect) const
 Gets the coordinates of the window's client area and then copies them into the object referred to by TRect.
 
TRect GetClientRect () const
 Gets the coordinates of the window's client area (the area in a window you can use for drawing).
 
HWND ChildWindowFromPoint (const TPoint &point) const
 Determines which of the child windows contains the point specified in TPoint.
 
void GetWindowRect (TRect &rect) const
 Gets the screen coordinates of the window's rectangle and copies them into rect.
 
TRect GetWindowRect () const
 Gets the screen coordinates of the window's rectangle.
 
TRect GetChildRect (HWND hWnd) const
 Returns the window rectangle of the given window, specified in this window's client coordinates.
 
TRect GetChildRect (const TWindow &wnd) const
 Overload for TWindow See GetChildRect(HWND).
 
void BringWindowToTop ()
 Brings a pop-up or child window to the top of the stack of overlapping windows and activates it.
 
HWND SetActiveWindow ()
 Activates a top-level window.
 
HWND GetLastActivePopup () const
 Returns the last active pop-up window in the list.
 
HWND GetNextWindow (uint dirFlag) const
 Finds the handle associated with either the next or previous window in the window manager's list.
 
HWND GetTopWindow () const
 Returns a handle to the top window currently owned by this parent window.
 
HWND GetWindow (uint cmd) const
 Returns the handle of the window that has the indicated relationship to this window.
 
bool SetWindowPos (HWND hWndInsertAfter, const TRect &rect, uint flags)
 Changes the size of the window pointed to by rect.
 
bool SetWindowPos (HWND hWndInsertAfter, int x, int y, int w, int h, uint flags)
 Set the new window position.
 
void CreateCaret (HBITMAP hBitmap)
 Creates a new caret for the system.
 
void CreateCaret (bool isGray, int width, int height)
 Create a new caret for the system with the specified shape, bitmap shade, width, and height.
 
void HideCaret ()
 Removes the caret from the specified display screen.
 
void ShowCaret ()
 Displays the caret in the specified shape in the active window at the current position.
 
void SetWindowFont (HFONT font, bool redraw=true)
 Sets the font that a control uses to draw text.
 
void SetWindowFont (const TFont &font, bool redraw=true)
 Sets the font that a control uses to draw text.
 
HFONT GetWindowFont ()
 Gets the font the control uses to draw text.
 
- Public Member Functions inherited from owl::TEventHandler
virtual bool Find (TEventInfo &info, TEqualOperator op=0)
 Searches the list of response table entries looking for a match.
 
TResult Dispatch (TEventInfo &info, TParam1, TParam2=0)
 Takes the message data from TEventInfo's Msg data member and dispatches it to the correct event-handling function.
 
TResult DispatchMsg (TMsgId, uint id, TParam1, TParam2)
 Search for the event given the message and it and dispatch to the event handler if found.
 
- Public Member Functions inherited from owl::TStreamableBase
virtual ~TStreamableBase ()
 

Protected Member Functions

void SetupWindow () override
 Establishes a connection between the TOcView object and the view's HWND so the view can send notification messages to the window.
 
void CleanupWindow () override
 Performs normal window cleanup and informs the TOcView object that the window is closed.
 
auto CanClose () -> bool override
 Intercept CanClose() to interpose OpenEdit semantics.
 
bool InClient (owl::TDC &dc, owl::TPoint &point)
 Returns true if point is inside the client area of the window. Returns false otherwise.
 
auto EvCommand (owl::uint id, HWND hWndCtl, owl::uint notifyCode) -> owl::TResult override
 Overrides the usual EvCommand message to handle the OLE verbs from CM_EDITFIRSTVERB to CM_EDITLASTVERB.
 
void EvCommandEnable (owl::TCommandEnabler &) override
 Overrides the usual EvCommandEnable message in order to enable the OLE verbs from CM_EDITFIRSTVERB to CM_EDITLASTVERB.
 
void EvPaint ()
 Sets up the dc for proper scaling and scrolling and then calls the derived class's Paint method to paint the contents of the dc.
 
void EvSize (owl::uint sizeType, const owl::TSize &size)
 Passes the event to TWindow::EvSize for normal processing and forwards the event to TOcView::EvResize to let a possible in-place server adjust its size.
 
void EvMDIActivate (HWND hWndActivated, HWND hWndDeactivated)
 Responds to a message forwarded from the MDI child window (if one exists) and lets the TOcView class know that the view window child window frame has been activated or deactivated.
 
owl::uint EvMouseActivate (HWND topParent, owl::uint hitCode, owl::uint msg)
 Forwards the WM_MOUSEACTIVATE message to the top parent of the TOleWindow object.
 
void EvSetFocus (HWND hWndLostFocus)
 Responds to a change in focus of the window.
 
virtual bool EvOcViewPartInvalid (TOcPartChangeInfo &changeInfo)
 Informs an active container that one of its embedded objects needs to be redrawn.
 
void CeFileClose (owl::TCommandEnabler &ce)
 Enables the FileClose command, which lets the user exit from the window view.
 
void CmEditDelete ()
 Responds to a command with an ID of CM_EDITDELETE by deleting the selected text.
 
void CmEditCut ()
 Responds to a command with an ID of CM_EDITCUT by copying the selected text to the clipboard before cutting the text.
 
void CmEditCopy ()
 Responds to a command with an ID of CM_EDITCOPY by copying the selected text to the clipboard.
 
void CmEditPaste ()
 Responds to a command with an ID of CM_EDITPASTE by pasting an object from the clipboard into the document.
 
void CmEditPasteSpecial ()
 Responds to a command with an ID of CM_EDITPASTESPECIAL by letting the user select an object from a list of available formats for pasting from the clipboard onto the document.
 
void CmEditPasteLink ()
 Responds to a command with an ID of CM_EDITPASTELINK by creating a link between the current document and the object on the clipboard.
 
void CmEditLinks ()
 Responds to a command with an ID of CM_EDITLINKS by updating the user-selected list of linked items in the current view.
 
void CmEditConvert ()
 Responds to a command with an ID of CM_EDITCONVERT by converting an object from one type to another.
 
void CmEditInsertObject ()
 Responds to a command with an ID of CM_EDITINSERTOBJECT by creating, initializing, painting, and selecting an OLE object (TOcPart object).
 
void CmEditInsertControl ()
 Responds to a command with an ID of CM_EDITINSERTCONTROL by creating, initializing, painting, and selecting an OCX control (TOcControl object).
 
void CmEditShowObjects ()
 Responds to a command with an ID of CM_EDITSHOWOBJECTS by toggling the value of the ShowObjects data member.
 
void CeEditDelete (owl::TCommandEnabler &ce)
 Enables a command with an ID of CM_EDITDELETE, which lets the user delete the selected object from the view.
 
void CeEditCut (owl::TCommandEnabler &ce)
 Enables a command with an ID of CM_EDITCUT, which lets a user copy and delete the selected object from the view.
 
void CeEditCopy (owl::TCommandEnabler &ce)
 Enables a command with an ID of CM_EDITCOPY, which lets the user copy selected object to the clipboard.
 
void CeEditPaste (owl::TCommandEnabler &ce)
 Enables a command with an ID of CM_EDITPASTE, which lets the user paste the embedded object from the clipboard.
 
void CeEditPasteSpecial (owl::TCommandEnabler &ce)
 Enables the PasteSpecial command, which lets the user select a clipboard format to be pasted or paste linked.
 
void CeEditPasteLink (owl::TCommandEnabler &ce)
 Enables a PasteLink command with an ID of CM_EDITPASTELINK, which lets the user link to the embedded object on the clipboard.
 
void CeEditLinks (owl::TCommandEnabler &ce)
 Enables a command with an ID of CM_EDITLINKS, which lets the user manually update the list of linked items in the current view.
 
void CeEditObject (owl::TCommandEnabler &ce)
 Enables a command with an ID of CM_EDITOBJECT, which lets the user edit the embedded object.
 
void CeEditConvert (owl::TCommandEnabler &ce)
 Enables a command with an ID of CM_EDITCONVERT, which lets the user convert the selected object from one format to another.
 
void CeEditVerbs (owl::TCommandEnabler &ce)
 Enables the Edit|Verbs command, which lets the user select one of the OLE-specific verbs from the Edit menu: for example, Edit, Open, or Play.
 
void CeEditInsertObject (owl::TCommandEnabler &ce)
 Enables a command with an ID of CM_EDITINSERTOBJECT if the OcApp and OcView objects exist.
 
void CeEditInsertControl (owl::TCommandEnabler &ce)
 Enables a command with an ID of CM_EDITINSERTCONTROL if the OcApp and OcView objects exist.
 
void CeEditShowObjects (owl::TCommandEnabler &ce)
 Checks or unchecks the Edit|Show Objects menu command according to the value of the ShowObjects data member.
 
void EvMouseMove (owl::uint modKeys, const owl::TPoint &point)
 Responds to a mouse move message with the appropriate transaction.
 
void EvRButtonDown (owl::uint modKeys, const owl::TPoint &point)
 Responds to a right button down message.
 
void EvLButtonUp (owl::uint modKeys, const owl::TPoint &point)
 Responds to a left button up message by ending a mouse drag action.
 
void EvLButtonDown (owl::uint modKeys, const owl::TPoint &point)
 Responds to a left button down message by beginning a mouse drag transaction at the given point.
 
void EvLButtonDblClk (owl::uint modKeys, const owl::TPoint &point)
 Responds to a mouse button double click message.
 
bool EvSetCursor (HWND hWndCursor, owl::uint hitTest, owl::uint mouseMsg)
 Performs hit testing to tell where the cursor is located within the window and what object the cursor is moving over.
 
void EvDropFiles (owl::TDropInfo dropInfo)
 This is a response method for an incoming EV_WM_DROPFILES message.
 
void EvHScroll (owl::uint scrollCode, owl::uint thumbPos, HWND hWndCtl)
 In response to a WM_HSCROLL message, EvHScroll calls TWindow::EvHScroll and invalidates the window.
 
void EvVScroll (owl::uint scrollCode, owl::uint thumbPos, HWND hWndCtl)
 In response to a WM_VSCROLL message, EvVScroll calls TWindow::EvVScroll and invalidates the window.
 
void EvMenuSelect (owl::uint menuItemId, owl::uint flags, HMENU hMenu)
 Handles WM_MENUSELECT to provide hint text in the container's status bar, based on the menu item id.
 
owl::TResult EvOcEvent (owl::TParam1 param1, owl::TParam2 param2)
 Responds to a WM_OCEVENT message and subdispatches the message based on wParam.
 
owl::TPopupMenuCreateVerbPopup (const TOcVerb &ocVerb)
 Creates and enables a pop-up menu option (ocVerb) on the Edit menu.
 
void EvDoVerb (owl::uint whichVerb)
 Executes an OLE-related menu option from the Edit menu (for example, Edit, Copy, or Play) that is associated with the selected object.
 
void Init ()
 Initializes the TOleWindow object with the appropriate window style and initializes the necessary data members (for example, sets the accelerator ID to IDA_OLEVIEW).
 
 DECLARE_RESPONSE_TABLE (TOleWindow)
 
 DECLARE_STREAMABLE_OCF (TOleWindow, 1)
 
Overridables
virtual void GetInsertPosition (owl::TRect &rect)
 Gets the position (rect) where the embedded object is inserted.
 
virtual void InvalidatePart (TOcInvalidate invalid)
 Invalidates the area where the embedded object exists.
 
virtual bool Deactivate ()
 If an embedded object is no longer the active embedded object, either because the user has ended an in-place editing session or because the user has clicked outside the embedded object, call Deactivate to unselect the object.
 
virtual bool Select (owl::uint modKeys, owl::TPoint &point)
 Selects the embedded object at the specified point (measured in logical units).
 
virtual bool PaintSelection (owl::TDC &dc, bool erase, owl::TRect &rect, void *userData=0)
 Repaints the selected portion of a document on the given device context.
 
virtual bool PaintParts (owl::TDC &dc, bool erase, owl::TRect &rect, bool metafile)
 Repaints the embedded objects on the given device context.
 
virtual bool PaintLink (owl::TDC &dc, bool erase, owl::TRect &rect, owl::TString &moniker)
 Repaints part of an object on the given device context.
 
virtual void GetLogPerUnit (owl::TSize &logPerUnit)
 Gets the logical units (typically pixels) per inch for a document so that the document's embedded objects can be painted correctly on the screen device context.
 
virtual void SetScale (owl::uint16 percent)
 Sets the ratio of the embedded object's size to the size of the site.
 
virtual void SetSelection (TOcPart *part)
 Selects the embedded object indicated in the part parameter.
 
virtual bool ShowCursor (HWND wnd, owl::uint hitTest, owl::uint mouseMsg)
 Handles the WM_NCHITTEST message, setting the cursor according to its position on the screen.
 
virtual bool StartDrag (owl::uint modKeys, owl::TPoint &point)
 
virtual LPCTSTR GetFileName ()
 On linking must be implemented and return the file name.
 
Container specific messages

owl::uint32 EvOcViewDiscardUndo(void * undo);

LPCTSTR EvOcViewTitle ()
 Asks the container for the caption in its frame window.
 
void EvOcViewSetTitle (LPCTSTR title)
 Sets the window's caption to title.
 
bool EvOcViewBorderSpaceReq (owl::TRect *rect)
 Requests that the server create space for a tool bar in the view of an embedded object.
 
bool EvOcViewBorderSpaceSet (owl::TRect *rect)
 Requests that the server's tool bar be placed in the container's view of an embedded object.
 
bool EvOcViewDrop (TOcDragDrop &ddInfo)
 Requests a given object be dropped at a specified place on the container's window.
 
bool EvOcViewDrag (TOcDragDrop &ddInfo)
 Handles an OC_VIEWDRAG message asking the container to provide visual feedback while the user is dragging the embedded object.
 
bool EvOcViewScroll (TOcScrollDir scrollDir)
 Asks the container to scroll the view window and updates any internal state as needed.
 
bool EvOcViewGetScale (TOcScaleFactor &scaleFactor)
 Responds to an OC_VIEWGETSCALE message and gets the scaling for the server object, causing the embedded object to be displayed using the correct scaling value (for example, 120%).
 
bool EvOcViewGetSiteRect (owl::TRect *rect)
 Gets the size of the rectangle (the site) where the embedded object is to be placed.
 
bool EvOcViewSetSiteRect (owl::TRect *rect)
 Converts the rect to logical units.
 
bool EvOcViewPartActivate (TOcPart &ocPart)
 Notifies ObjectWindows container applications that an embedded object is active.
 
bool EvOcViewPasteObject (TOcInitInfo &init)
 Pastes an OLE object into the document pointed to by the TOleWindow::OcDoc data member.
 
Server specific messages
bool EvOcPartInvalid (TOcPart &)
 Handles a WM_OCEVENT message concerning the embedded or linked object in the document and invalidates the part.
 
bool EvOcViewSavePart (TOcSaveLoad &ocSave)
 Asks the server to write an embedded object's data (the part as represented by the ocSave parameter) into storage.
 
bool EvOcViewLoadPart (TOcSaveLoad &ocLoad)
 Requests that an embedded object load itself.
 
bool EvOcViewPaint (TOcViewPaint &vp)
 Asks the server to paint an object at a given position on a specified device context.
 
bool EvOcViewInsMenus (TOcMenuDescr &sharedMenu)
 Requests that the menus in a composite menu (a menu composed of both the server's and the container's menus).
 
bool EvOcViewShowTools (TOcToolBarInfo &tbi)
 Asks the server to provide its tool bars for display in the container's window.
 
bool EvOcViewGetPalette (LOGPALETTE **palette)
 Requests the color palette to draw the object.
 
bool EvOcViewClipData (TOcFormatData &format)
 Requests clipboard data in the specified format.
 
bool EvOcViewSetData (TOcFormatData &format)
 
bool EvOcViewClose ()
 Asks the server to close a currently open document and its associated view.
 
bool EvOcViewPartSize (TOcPartSize &size)
 The server asks itself the size of its current rectangle and lets the container know about the size of the server's view in pixels.
 
bool EvOcViewOpenDoc (LPCTSTR path)
 Asks the container to open an existing document, which will be used for linking from the embedding site.
 
bool EvOcViewAttachWindow (bool attach)
 Attaches the view to its ObjectWindows parent window so that the user can perform open editing on the embedded object, or if the embedded object has been de-activated while in-place editing was occurring.
 
bool EvOcViewSetScale (TOcScaleFactor &scaleFactor)
 Responds to an OC_VIEWSETSCALE message and handles the scaling for server application, ensuring that the embedded object is displayed using the correct scaling values (for example, 120%).
 
bool EvOcViewGetItemName (TOcItemName &item)
 Handles the EV_OC_VIEWGETITEMNAME. Returns false.
 
bool EvOcViewSetLink (TOcLinkView &view)
 Responds to an OC_VIEWSETLINK message TOcLinkView sends when the server document provides a link to a container document.
 
bool EvOcViewBreakLink (TOcLinkView &view)
 EvOcViewBreakLink responds to an OC_VIEWBREAKLINK message that TOcLinkView sends when the server document that provides the link shuts down.
 
bool EvOcViewDoVerb (owl::uint verb)
 Handles the EV_OC_VIEWDOVERB message.
 
virtual bool EvOcViewTransformCoords (owl::uint verb)
 
Ambient property specific messages
virtual bool EvOcAmbientGetBackColor (long *rgb)
 Handles the EV_OC_AMBIENT_GETBACKCOLOR message, which is sent by an OCX control.
 
virtual bool EvOcAmbientGetForeColor (long *rgb)
 Handles the EV_OC_AMBIENT_GETFORECOLOR message, which is sent by an OCX control.
 
virtual bool EvOcAmbientGetLocaleID (long *locale)
 Handles the EV_OC_AMBIENT_GETLOCALEID message, which is sent by an OCX control.
 
virtual bool EvOcAmbientGetTextAlign (short *align)
 Handles the EV_OC_AMBIENT_GETTEXTALIGN message, which is sent by an OCX control.
 
virtual bool EvOcAmbientGetMessageReflect (bool *msgReflect)
 Handles the EV_OC_AMBIENT_GETMESSAGEREFLECT message, which is sent by an OCX control.
 
virtual bool EvOcAmbientGetUserMode (bool *mode)
 Handles the EV_OC_AMBIENT_GETUSERMODE message, which is sent by an OCX control.
 
virtual bool EvOcAmbientGetUIDead (bool *dead)
 Handles the EV_OC_AMBIENT_GETUIDEAD message, which is sent by an OCX control.
 
virtual bool EvOcAmbientGetShowGrabHandles (bool *show)
 Handles the EV_OC_AMBIENT_GETSHOWGRABHANDLES message, which is sent by an OCX control.
 
virtual bool EvOcAmbientGetShowHatching (bool *show)
 Handles the EV_OC_AMBIENT_GETSHOWHATCHING message, which is sent by an OCX control.
 
virtual bool EvOcAmbientGetDisplayAsDefault (bool *disp)
 Handles the EV_OC_AMBIENT_GETDISPLAYASDEFAULT message, which is sent by an OCX control.
 
virtual bool EvOcAmbientGetSupportsMnemonics (bool *support)
 Handles the EV_OC_AMBIENT_GETSUPPORTSMNEMONICS message, which is sent by an OCX control.
 
virtual bool EvOcAmbientGetDisplayName (owl::TString **name)
 Handles the EV_OC_AMBIENT_GETDISPLAYNAME message, which is sent by an OCX control.
 
virtual bool EvOcAmbientGetScaleUnits (owl::TString **units)
 Handles the EV_OC_AMBIENT_GETSCALEUNITS message, which is sent by an OCX control.
 
virtual bool EvOcAmbientGetFont (IDispatch **font)
 Handles the EV_OC_AMBIENT_GETFONT message, which is sent by an OCX control.
 
virtual bool EvOcAmbientSetBackColor (long rgb)
 Handles the EV_OC_AMBIENT_SETBACKCOLOR message, which is sent by an OCX control.
 
virtual bool EvOcAmbientSetForeColor (long rgb)
 Handles the EV_OC_AMBIENT_SETFORECOLOR message, which is sent by an OCX control.
 
virtual bool EvOcAmbientSetLocaleID (long locale)
 Handles the EV_OC_AMBIENT_SETLOCALEID message, which is sent by an OCX control.
 
virtual bool EvOcAmbientSetTextAlign (short align)
 Handles the EV_OC_AMBIENT_SETTEXTALIGN message, which is sent by an OCX control.
 
virtual bool EvOcAmbientSetMessageReflect (bool msgReflect)
 Handles the EV_OC_AMBIENT_SETMESSAGEREFLECT message, which is sent by an OCX control.
 
virtual bool EvOcAmbientSetUserMode (bool mode)
 Handles the EV_OC_AMBIENT_SETUSERMODE message, which is sent by an OCX control.
 
virtual bool EvOcAmbientSetUIDead (bool dead)
 Handles the EV_OC_AMBIENT_SETUIDEAD message, which is sent by an OCX control.
 
virtual bool EvOcAmbientSetShowGrabHandles (bool show)
 Handles the EV_OC_AMBIENT_SETSHOWGRABHANDLES message, which is sent by an OCX control.
 
virtual bool EvOcAmbientSetShowHatching (bool show)
 Handles the EV_OC_AMBIENT_SETSETSHOWHATCHING message, which is sent by an OCX control.
 
virtual bool EvOcAmbientSetDisplayAsDefault (bool disp)
 Handles the EV_OC_AMBIENT_SETDISPLAYASDEFAULT message, which is sent by an OCX control.
 
virtual bool EvOcAmbientSetSupportsMnemonics (bool support)
 Handles the EV_OC_AMBIENT_SETSUPPORTSMNEMONICS message, which is sent by an OCX control.
 
virtual bool EvOcAmbientSetDisplayName (owl::TString *name)
 Handles the EV_OC_AMBIENT_SETDISPLAYNAME message, which is sent by an OCX control.
 
virtual bool EvOcAmbientSetScaleUnits (owl::TString *units)
 Handles the EV_OC_AMBIENT_SETSCALEUNITS message, which is sent by an OCX control.
 
virtual bool EvOcAmbientSetFont (IDispatch *font)
 Handles the EV_OC_AMBIENT_SETFONT message, which is sent by an OCX control.
 
Ctrl event specific messages
virtual bool EvOcCtrlClick (TCtrlEvent *pev)
 Handles the EV_OC_CTRLCLICK message, which is sent by an OCX control.
 
virtual bool EvOcCtrlDblClick (TCtrlEvent *pev)
 Handles the EV_OC_CTRLDBLCLICK message, which is sent by an OCX control.
 
virtual bool EvOcCtrlMouseDown (TCtrlMouseEvent *pev)
 Handles the EV_OC_CTRLMOUSEDOWN message, which is sent by an OCX control.
 
virtual bool EvOcCtrlMouseMove (TCtrlMouseEvent *pev)
 Handles the EV_OC_CTRLMOUSEMOVE message, which is sent by an OCX control.
 
virtual bool EvOcCtrlMouseUp (TCtrlMouseEvent *pev)
 Handles the EV_OC_CTRLMOUSEUP message, which is sent by an OCX control.
 
virtual bool EvOcCtrlKeyDown (TCtrlKeyEvent *pev)
 Handles the EV_OC_CTRLKEYDOWN message, which is sent by an OCX control.
 
virtual bool EvOcCtrlKeyUp (TCtrlKeyEvent *pev)
 Handles the EV_OC_CTRLKEYUP message, which is sent by an OCX control.
 
virtual bool EvOcCtrlErrorEvent (TCtrlErrorEvent *pev)
 Handles the EV_OC_CTRLERROREVENT message, which is sent by an OCX control.
 
virtual bool EvOcCtrlFocus (TCtrlFocusEvent *pev)
 Handles the EV_OC_CTRLFOCUS message, which is sent by an OCX control.
 
virtual bool EvOcCtrlPropertyChange (TCtrlPropertyEvent *pev)
 Handles the EV_OC_CTRLPROPERTYCHANGE message, which is sent by an OCX control.
 
virtual bool EvOcCtrlPropertyRequestEdit (TCtrlPropertyEvent *pev)
 Handles the EV_OC_PROPERTYREQUESTEDIT message, which is sent by an OCX control.
 
virtual bool EvOcCtrlCustomEvent (TCtrlCustomEvent *pev)
 Handles the EV_OC_CTRLCUSTOMEVENT message, which is sent by an OCX control.
 
- Protected Member Functions inherited from owl::TWindow
 TWindow ()
 Protected constructor for use by immediate virtually derived classes.
 
void Init (TWindow *parent, LPCTSTR title, TModule *module)
 Normal initialization of a default constructed TWindow.
 
void Init (TWindow *parent, const tstring &title, TModule *module)
 
void Init (HWND hWnd, TModule *module)
 Wrapper initialization of a default constructed TWindow.
 
virtual THandle PerformCreate ()
 Called from Create to perform the final step in creating an Windows interface element to be associated with a TWindow.
 
void SetHandle (THandle)
 Sets the window handle in a derived class.
 
void GetHWndState (bool forceStyleSync=false)
 Copies the style, coordinate, and the resource id (but not the title) from the existing HWnd into the TWindow members.
 
void GetWindowTextTitle ()
 Updates the TWindow internal caption (Title) from the current window's caption.
 
virtual void GetWindowClass (WNDCLASS &wndClass)
 Redefined by derived classes, GetWindowClass fills the supplied MS-Windows registration class structure with registration attributes, thus, allowing instances of TWindow to be registered.
 
virtual auto GetWindowClassName () -> TWindowClassName
 
void PerformSetupAndTransfer ()
 Ensures that the window is fully set up; then transfers data into the window.
 
void DispatchScroll (uint scrollCode, uint thumbPos, HWND hWndCtrl)
 Called by EvHScroll and EvVScroll to dispatch messages from scroll bars.
 
void LoadAcceleratorTable ()
 Loads a handle to the window's accelerator table specified in the TWindowAttr structure (Attr.AccelTable).
 
virtual void RemoveChild (TWindow *child)
 Removes a child window.
 
TWindowGetWindowPtr (HWND hWnd) const
 Calls TApplication:GetWindowPtr on the application associated with this window.
 
void EvClose ()
 The default response to a WM_CLOSE message is to call CloseWindow() and then have the window deleted if the Handle was really destroyed.
 
bool EvCreate (CREATESTRUCT &)
 Response method for an incoming WM_CREATE message.
 
void EvDestroy ()
 Responds to an incoming WM_DESTROY message.
 
int EvCompareItem (uint ctrlId, const COMPAREITEMSTRUCT &compareInfo)
 Handles WM_COMPAREITEM message (for owner draw controls) by forwarding message to control itself.
 
void EvDeleteItem (uint ctrlId, const DELETEITEMSTRUCT &deleteInfo)
 Handles WM_DELETEITEM message (for owner draw controls) by forwarding message to control itself.
 
void EvDrawItem (uint ctrlId, const DRAWITEMSTRUCT &drawInfo)
 
void EvMeasureItem (uint ctrlId, MEASUREITEMSTRUCT &measureInfo)
 Handles WM_MEASUREITEM message (for owner draw controls & menus) by forwarding message to control itself.
 
void EvHScroll (uint scrollCode, uint thumbPos, HWND hWndCtl)
 Response method for an incoming WM_HSCROLL message.
 
void EvVScroll (uint scrollCode, uint thumbPos, HWND hWndCtl)
 Response method for an incoming WM_VSCROLL message.
 
void EvMove (const TPoint &clientOrigin)
 Save the normal position of the window.
 
void EvNCDestroy ()
 Responds to an incoming WM_NCDESTROY message, the last message sent to an MS-Windows interface element.
 
bool EvQueryEndSession (uint flags)
 Respond to Windows attempt to close down.
 
void EvSize (uint sizeType, const TSize &size)
 Response method for an incoming WM_SIZE message.
 
void EvLButtonDown (uint modKeys, const TPoint &point)
 Response method for an incoming WM_LBUTTONDOWN message.
 
bool EvEraseBkgnd (HDC)
 Handler for WM_ERASEBKGND.
 
void EvPaint ()
 Response method for an incoming WM_PAINT message.
 
void EvSysColorChange ()
 Respond to WM_SYSCOLORCHANGE by broadcasting it to all children.
 
void EvChildInvalid (HWND hWnd)
 Handle message posted to us by a control needing assistance in dealing with invalid inputs.
 
void EvCompacting (uint compactRatio)
 The default message handler for WM_COMPACTING.
 
void EvDevModeChange (LPCTSTR devName)
 The default message handler for WM_DEVMODECHANGE.
 
void EvEnable (bool enabled)
 The default message handler for WM_ENABLE.
 
void EvEndSession (bool endSession, uint flags)
 Provides default handling for WM_ENDSESSION.
 
void EvFontChange ()
 The default message handler for WM_FONTCHANGE.
 
void EvSysCommand (uint cmdType, const TPoint &point)
 Responds to a user-selected command from the System menu or when the user selects the maximize or minimize box.
 
void EvTimeChange ()
 The default message handler for WM_TIMECHANGE.
 
void EvTimer (uint timerId)
 The default message handler for WM_TIMER.
 
void EvSettingChange (uint flags, LPCTSTR section)
 
void EvActivate (uint active, bool minimized, HWND hWndOther)
 Default message handler for WM_ACTIVATE.
 
void EvActivateApp (bool active, DWORD threadId)
 The default message handler for WM_ACTIVATEAPP.
 
void EvCancelMode ()
 The default message handler for WM_CANCELMODE.
 
void EvGetMinMaxInfo (MINMAXINFO &minmaxinfo)
 The default message handler for WM_GETMINMAXINFO.
 
int EvGetText (int bufSize, TCHAR *buf)
 The default message handler for WM_GETTEXT.
 
int EvGetTextLength ()
 The default message handler for WM_GETTEXTLENGTH.
 
void EvKillFocus (HWND hWndGetFocus)
 Handle WM_KILLFOCUS so that we can have a parent window hold onto our Handle and possibly restore focus later.
 
uint EvMouseActivate (HWND hTopLevel, uint hitCode, TMsgId)
 The default message handler for WM_MOUSEACTIVATE.
 
void EvHotKey (int idHotKey, uint modifiers, uint vk)
 
bool EvCopyData (HWND hwnd, const COPYDATASTRUCT &)
 
void EvNextDlgCtl (TParam1 handleOrDirectionFlag, bool isHandle)
 
void EvParentNotify (const TParentNotify &)
 The default message handler for WM_PARENTNOTIFY.
 
HICON EvQueryDragIcon ()
 The default message handler for WM_QUERYDRAGICON.
 
bool EvQueryOpen ()
 The default message handler for WM_QUERYOPEN.
 
void EvQueueSync ()
 The default message handler for WM_QUEUESYNC.
 
bool EvSetCursor (HWND hWndCursor, uint codeHitTest, TMsgId mouseMsg)
 Response method for an incoming WM_SETCURSOR message.
 
void EvSetFocus (HWND hWndLostFocus)
 The default message handler for WM_SETFOCUS.
 
HFONT EvGetFont ()
 The default message handler for WM_GETFONT.
 
void EvSetFont (HFONT hFont, bool redraw)
 The default message handler for WM_SETFONT.
 
void EvSetRedraw (bool redraw)
 The default message handler for WM_SETREDRAW.
 
void EvSetText (LPCTSTR text)
 The default message handler for WM_SETTEXT.
 
void EvShowWindow (bool show, uint status)
 The default message handler for WM_SHOWWINDOW.
 
void EvWindowPosChanged (const WINDOWPOS &windowPos)
 The default message handler for WM_WINDOWPOSCHANGED.
 
bool EvWindowPosChanging (WINDOWPOS &)
 The default message handler for WM_WINDOWPOSCHANGING.
 
HBRUSH EvCtlColor (HDC hDC, HWND hWndChild, uint ctlType)
 Handler for control color messages (WM_CTLCOLOR family).
 
void EvChar (uint key, uint repeatCount, uint flags)
 The default message handler for WM_CHAR.
 
void EvDeadChar (uint deadKey, uint repeatCount, uint flags)
 The default message handler for WM_DEADCHAR.
 
void EvKeyDown (uint key, uint repeatCount, uint flags)
 The default message handler for WM_KEYDOWN.
 
void EvKeyUp (uint key, uint repeatCount, uint flags)
 The default message handler for WM_KEYUP.
 
void EvSysChar (uint key, uint repeatCount, uint flags)
 The default message handler for WM_SYSCHAR.
 
void EvSysDeadChar (uint key, uint repeatCount, uint flags)
 The default message handler for WM_SYSDEADCHAR.
 
void EvSysKeyDown (uint key, uint repeatCount, uint flags)
 The default message handler for WM_SYSKEYDOWN.
 
void EvSysKeyUp (uint key, uint repeatCount, uint flags)
 The default message handler for WM_SYSKEYUP.
 
void EvLButtonDblClk (uint modKeys, const TPoint &point)
 The default message handler for WM_LBUTTONDBLCLK.
 
void EvLButtonUp (uint modKeys, const TPoint &point)
 The default message handler for WM_LBUTTONUP.
 
void EvMButtonDblClk (uint modKeys, const TPoint &point)
 The default message handler for WM_MBUTTONDBLCLK.
 
void EvMButtonDown (uint modKeys, const TPoint &point)
 The default message handler for WM_MBUTTONDOWN.
 
void EvMButtonUp (uint modKeys, const TPoint &point)
 The default message handler for WM_MBUTTONUP.
 
void EvMouseMove (uint modKeys, const TPoint &point)
 The default message handler for WM_MOUSEMOVE.
 
void EvMouseHWheel (uint modKeys, int zDelta, const TPoint &point)
 Event handler for WM_MOUSEHWHEEL.
 
void EvMouseWheel (uint modKeys, int zDelta, const TPoint &point)
 Event handler for WM_MOUSEWHEEL.
 
void EvRButtonDblClk (uint modKeys, const TPoint &point)
 The default message handler for WM_RBUTTONDBLCLK.
 
void EvRButtonDown (uint modKeys, const TPoint &point)
 The default message handler for WM_RBUTTONDOWN.
 
void EvRButtonUp (uint modKeys, const TPoint &point)
 The default message handler for WM_RBUTTONUP.
 
void EvInitMenu (HMENU hMenu)
 The default message handler for WM_INITMENU.
 
void EvInitMenuPopup (HMENU hPopupMenu, uint index, bool isSysMenu)
 Handle WM_INITMENUPOPUP while embeded to generate command enable messages for our server menu items.
 
int32 EvMenuChar (uint nChar, uint menuType, HMENU hMenu)
 The default message handler for WM_MENUCHAR.
 
void EvMenuSelect (uint menuItemId, uint flags, HMENU hMenu)
 The default message handler for WM_MENUSELECT.
 
void EvContextMenu (HWND childHwnd, int x, int y)
 The default message handler for WM_CONTEXTMENU.
 
uint EvGetDlgCode (const MSG *msg)
 The default message handler for WM_GETDLGCODE.
 
void EvEnterIdle (uint source, HWND hWndDlg)
 The default message handler for WM_ENTERIDLE.
 
void EvSpoolerStatus (uint jobStatus, uint jobsLeft)
 The default message handler for WM_SPOOLERSTATUS.
 
void EvAskCBFormatName (uint bufLen, TCHAR *buffer)
 The default message handler for WM_ASKCBFORMATNAME.
 
void EvChangeCBChain (HWND hWndRemoved, HWND hWndNext)
 The default message handler for WM_CHANGECBCHAIN.
 
void EvDrawClipboard ()
 The default message handler for WM_DRAWCLIPBOARD.
 
void EvDestroyClipboard ()
 The default message handler for WM_DESTROYCLIPBOARD.
 
void EvHScrollClipboard (HWND hCBViewer, uint scrollCode, uint pos)
 The default message handler for WM_HSCROLLCLIPBOARD.
 
void EvPaintClipboard (HWND hWnd, const PAINTSTRUCT &)
 The default message handler for WM_PAINTCLIPBOARD.
 
void EvRenderAllFormats ()
 The default message handler for WM_RENDERALLFORMATS.
 
void EvRenderFormat (uint dataFormat)
 The default message handler for WM_RENDERFORMAT.
 
void EvSizeClipboard (HWND hWndViewer, const TRect &)
 The default message handler for WM_SIZECLIPBOARD.
 
void EvVScrollClipboard (HWND hCBViewer, uint scrollCode, uint pos)
 The default message handler for WM_VSCROLLCLIPBOARD.
 
void EvPaletteChanged (HWND hWndPalChg)
 The default message handler for WM_PALETTECHANGED.
 
void EvPaletteIsChanging (HWND hWndPalChg)
 The default message handler for WM_PALETTEISCHANGING.
 
bool EvQueryNewPalette ()
 The default message handler for WM_QUERYNEWPALETTE.
 
void EvDropFiles (TDropInfo dropInfo)
 The default message handler for WM_DROPFILES.
 
int EvCharToItem (uint ch, HWND hWndListBox, int caretIndex)
 The default message handler for WM_CHARTOITEM.
 
int EvVKeyToItem (uint key, HWND hWndListBox, int caretIndex)
 The default message handler for WM_VKEYTOITEM.
 
bool EvNCActivate (bool active)
 The default message handler for WM_NCACTIVATE.
 
uint EvNCCalcSize (bool calcValidRects, NCCALCSIZE_PARAMS &)
 The default message handler for WM_NCCALCSIZE.
 
bool EvNCCreate (CREATESTRUCT &)
 The default message handler for WM_NCCREATE.
 
uint EvNCHitTest (const TPoint &)
 The default message handler for WM_NCHITTEST.
 
void EvNCLButtonDblClk (uint codeHitTest, const TPoint &)
 The default message handler for WM_NCLBUTTONDBLCLK.
 
void EvNCLButtonDown (uint codeHitTest, const TPoint &)
 The default message handler for WM_NCLBUTTONDOWN.
 
void EvNCLButtonUp (uint codeHitTest, const TPoint &)
 The default message handler for WM_NCLBUTTONUP.
 
void EvNCMButtonDblClk (uint codeHitTest, const TPoint &)
 The default message handler for WM_NCMBUTTONDBLCLK.
 
void EvNCMButtonDown (uint codeHitTest, const TPoint &)
 The default message handler for WM_NCMBUTTONDOWN.
 
void EvNCMButtonUp (uint codeHitTest, const TPoint &)
 The default message handler for WM_NCMBUTTONUP.
 
void EvNCMouseMove (uint codeHitTest, const TPoint &)
 The default message handler for WM_NCMOUSEMOVE.
 
void EvNCPaint (HRGN)
 The default message handler for WM_NCPAINT.
 
void EvNCRButtonDblClk (uint codeHitTest, const TPoint &)
 The default message handler for WM_NCRBUTTONDBLCLK.
 
void EvNCRButtonDown (uint codeHitTest, const TPoint &)
 The default message handler for WM_NCRBUTTONDOWN.
 
void EvNCRButtonUp (uint codeHitTest, const TPoint &)
 The default message handler for WM_NCRBUTTONUP.
 
HICON EvGetIcon (bool isBigIcon)
 
HICON EvSetIcon (bool isBigIcon, HICON)
 
- Protected Member Functions inherited from owl::TEventHandler
bool SearchEntries (const TGenericTableEntry *entries, TEventInfo &info, TEqualOperator op)
 Low-level response table search function.
 

Protected Attributes

TOcPartDragPart
 Points to the embedded object (the part) being dragged.
 
owl::TUIHandle::TWhere DragHit
 Indicates the position in the embedded object where the user points and clicks the mouse.
 
owl::TDCDragDC
 Points to the device context used while an object is being dragged.
 
owl::TPoint DragPt
 Indicates the point (in logical units) where the mouse is over the dragged object.
 
owl::TRect DragRect
 Holds the rectangle being dragged.
 
owl::TPoint DragStart
 Holds the point where the dragging of the embedded object began.
 
TOcScaleFactor Scale
 Holds the current scaling factor. The server uses this information to determine how to scale the document.
 
owl::TRect Pos
 Holds the current area in the window where the object is embedded.
 
TOcDocumentOcDoc
 Holds the ObjectComponents document associated with this TOleWindow.
 
TOcViewOcView
 Holds the ObjectComponents view or remote view (the server's) associated with the TOleWindow view.
 
TOcAppOcApp
 Holds the ObjectComponents application associated with this TOleWindow.
 
owl::tstring ContainerName
 Holds the name of the container.
 
bool Remote
 Returns true if the window represents an embedded server. Returns false otherwise.
 
bool ShowObjects
 Is true if the embedded object's frame (the gray or shaded brushes around the object) is displayed.
 
int MinWidth
 The minimum width of the part.
 
int MinHeight
 The minimum height of the part.
 

Additional Inherited Members

- Public Types inherited from owl::TWindow
typedef HWND THandle
 TWindow encapsulates an HWND.
 
using TChildrenIterator = TChildrenIteratorTemplate<TWindow>
 
using TConstChildrenIterator = TChildrenIteratorTemplate<const TWindow>
 
using TChildrenRange = TChildrenRangeTemplate<TWindow>
 
using TConstChildrenRange = TChildrenRangeTemplate<const TWindow>
 
typedef std::pair< int, intTScrollRange
 
- Public Types inherited from owl::TEventHandler
typedef bool(* TEqualOperator) (const TGenericTableEntry &, const TEventInfo &)
 
- Static Public Member Functions inherited from owl::TWindow
static void ShutDownWindow (TWindow *win, int retVal=0)
 This version of ShutDownWindow unconditionally shuts down a given window, calls Destroy on the interface element, and then deletes the interface object.
 
static HWND GetCapture ()
 Returns the handle of the window that has captured the mouse.
 
static void ReleaseCapture ()
 Releases the mouse capture from this window.
 
static HWND GetFocus ()
 Gets a handle to the window that has the focus.
 
static HWND WindowFromPoint (const TPoint &point)
 Returns the handle of the window in which the specified point (point) lies.
 
static void AdjustWindowRect (TRect &rect, uint32 style, bool menu)
 Calculates the size of the window rectangle according to the indicated client-rectangle size.
 
static void AdjustWindowRectEx (TRect &rect, uint32 style, bool menu, uint32 exStyle)
 Calculates the size of a window rectangle that has an extended style.
 
static HWND GetActiveWindow ()
 Retrieves the handle of the active window.
 
static HWND GetDesktopWindow ()
 Returns a handle to the desktop window.
 
static uint GetCaretBlinkTime ()
 Retrieves the caret blink rate in milliseconds.
 
static void GetCaretPos (TPoint &point)
 Gets the position of the caret in the coordinates of the client window.
 
static TPoint GetCaretPos ()
 
static void SetCaretBlinkTime (uint16 milliSecs)
 Sets the caret blink rate in milliseconds.
 
static void SetCaretPos (int x, int y)
 Sets the position of the caret in the coordinates of the client window.
 
static void SetCaretPos (const TPoint &pos)
 Sets the position of the caret in the coordinates of the client window.
 
static void DestroyCaret ()
 DestroyCaret first checks the ownership of the caret.
 
static void GetCursorPos (TPoint &pos)
 Retrieves the cursor's current position (in window screen coordinates) and copies the values into the structure pointed to by pos.
 
static TPoint GetCursorPos ()
 
static TPoint GetMessagePos ()
 
- Static Protected Member Functions inherited from owl::TWindow
static LRESULT CALLBACK InitWndProc (HWND, UINT msg, WPARAM, LPARAM)
 Callback process for hooking TWindow to native window.
 

Detailed Description

The generic OLE2 window. Use as a client of a frame window.

Derived from TWindow, TOleWindow provides support for embedding objects in a compound document and serves as the client of a frame window. A compound document, such as the one TOleWindow supports, can contain many different types of embedded objects, from spreadsheets to bitmaps. In addition to providing support for a variety of basic window operations, TOleWindow also implements several OLE-related operations, among them

  • Responding to drag and drop events
  • In-place editing (the process whereby an embedded object can be edited without having to switch to its associated server application)
  • Activating an embedded object's server application
  • Creating views for the container application
  • Transmitting a document's scaling information between a container's and a server's view windows

TOleWindow has the ability to determine whether it's acting as a server or a container. If it is a container, TOleWindow has a pointer to a TOcView or if it is a server, TOleWindow establishes a pointer to a TOcRemView. From the server's point of view, every remote view has a corresponding TOleWindow.

Through its many event-handling member functions, TOleWindow communicates with ObjectComponents to implement container and server support for embedded objects, update views, and respond to a variety of menu commands associated with the typical command identifiers (for example, CM_FILEMENU). It also supports OLE-specific verbs such as those activated from the Edit menu (for example, Edit and Open). These commands and verbs can originate from various sources such as a menu selection, a radio button, or even an internal program message.

Conversely, ObjectComponents talks to ObjectWindows by means of the various EV_OC_Xxxx messages. Some of these messages, such as EV_OC_VIEWPARTINVALID, implement container support while others, such as EV_OC_VIEWCLOSE, implement server support.

For any user-defined classes derived from TOleWindow, you need to choose which functions are appropriate. If you want to provide additional server support, you need to define only those functions that implement server messages; if you want to provide container support, you need to define only those functions that provide additional container support.

For example, the data embedded in the container application (a compound document having one or more embedded objects) and the data embedded in the server application (a single OLE object with or without other embedded objects) can be written to storage and loaded from storage. If you're using TOleWindow without TOleView, you have to manipulate the storage by talking directly to the ObjectComponents class, TOcDocument.

In addition to communicating with ObjectComponents classes, TOleWindow supports many transactions as a result of its interaction with other ObjectWindows classes. By virtue of its derivation from TWindow, naturally it inherits much of TWindow's functionality.

Definition at line 91 of file olewindo.h.

Constructor & Destructor Documentation

◆ TOleWindow()

ocf::TOleWindow::TOleWindow ( owl::TWindow * parent = 0,
owl::TModule * module = 0 )

Constructs a TOleWindow object associated with the specified parent window and module instance.

Definition at line 204 of file olewindo.cpp.

References owl::TWindow::Init().

◆ ~TOleWindow()

ocf::TOleWindow::~TOleWindow ( )

Checks to see if there are any open views, and, if no open views exist, destroys the TOleWindow object.

Definition at line 262 of file olewindo.cpp.

References ocf::TOcDocument::Close(), IsRemote(), OcApp, OcDoc, OcView, ocf::TOcApp::Release(), and ocf::TOcView::ReleaseObject().

Member Function Documentation

◆ CanClose()

bool ocf::TOleWindow::CanClose ( ) -> bool
overrideprotectedvirtual

Intercept CanClose() to interpose OpenEdit semantics.

OLE2 servers don't prompt the user on close–just save & close.

Returns true if the window can be closed. Checks all the server's child windows' CanClose functions, which must return true before the window can be closed. Terminates any open editing transactions before closing the window; otherwise, passes control to TWindow::CanClose.

Reimplemented from owl::TWindow.

Definition at line 396 of file olewindo.cpp.

References ocf::amExeMode, owl::TWindow::CanClose(), CHECK, ocf::TOcDocument::Close(), owl::TWindow::GetApplication(), GetOcRemView(), IsOpenEditing(), ocf::TOcApp::IsOptionSet(), OcApp, OcDoc, OleShutDown(), and TYPESAFE_DOWNCAST.

◆ CeEditConvert()

void ocf::TOleWindow::CeEditConvert ( owl::TCommandEnabler & ce)
protected

Enables a command with an ID of CM_EDITCONVERT, which lets the user convert the selected object from one format to another.

This is an OLE-specific pop-up menu option.

Definition at line 910 of file olewindo.cpp.

References DragPart.

◆ CeEditCopy()

void ocf::TOleWindow::CeEditCopy ( owl::TCommandEnabler & ce)
protected

Enables a command with an ID of CM_EDITCOPY, which lets the user copy selected object to the clipboard.

Definition at line 773 of file olewindo.cpp.

References DragPart.

◆ CeEditCut()

void ocf::TOleWindow::CeEditCut ( owl::TCommandEnabler & ce)
protected

Enables a command with an ID of CM_EDITCUT, which lets a user copy and delete the selected object from the view.

Definition at line 751 of file olewindo.cpp.

References DragPart.

◆ CeEditDelete()

void ocf::TOleWindow::CeEditDelete ( owl::TCommandEnabler & ce)
protected

Enables a command with an ID of CM_EDITDELETE, which lets the user delete the selected object from the view.

Definition at line 725 of file olewindo.cpp.

References DragPart.

◆ CeEditInsertControl()

void ocf::TOleWindow::CeEditInsertControl ( owl::TCommandEnabler & ce)
protected

Enables a command with an ID of CM_EDITINSERTCONTROL if the OcApp and OcView objects exist.

Disables the command otherwise.

Definition at line 657 of file olewindo.cpp.

References OcApp, and OcView.

◆ CeEditInsertObject()

void ocf::TOleWindow::CeEditInsertObject ( owl::TCommandEnabler & ce)
protected

Enables a command with an ID of CM_EDITINSERTOBJECT if the OcApp and OcView objects exist.

Disables the command otherwise.

Definition at line 647 of file olewindo.cpp.

References OcApp, and OcView.

◆ CeEditLinks()

void ocf::TOleWindow::CeEditLinks ( owl::TCommandEnabler & ce)
protected

Enables a command with an ID of CM_EDITLINKS, which lets the user manually update the list of linked items in the current view.

Definition at line 928 of file olewindo.cpp.

References ocf::TOcApp::EnableEditMenu(), ocf::meEnableBrowseLinks, OcApp, OcView, and PRECONDITION.

◆ CeEditObject()

void ocf::TOleWindow::CeEditObject ( owl::TCommandEnabler & ce)
protected

Enables a command with an ID of CM_EDITOBJECT, which lets the user edit the embedded object.

Definition at line 868 of file olewindo.cpp.

References _T, CreateVerbPopup(), DragPart, owl::TWindow::GetModule(), owl::TModule::LoadString(), OleStr, and TYPESAFE_DOWNCAST.

◆ CeEditPaste()

void ocf::TOleWindow::CeEditPaste ( owl::TCommandEnabler & ce)
protected

Enables a command with an ID of CM_EDITPASTE, which lets the user paste the embedded object from the clipboard.

Definition at line 816 of file olewindo.cpp.

References ocf::TOcApp::EnableEditMenu(), ocf::meEnablePaste, OcApp, OcView, and PRECONDITION.

◆ CeEditPasteLink()

void ocf::TOleWindow::CeEditPasteLink ( owl::TCommandEnabler & ce)
protected

Enables a PasteLink command with an ID of CM_EDITPASTELINK, which lets the user link to the embedded object on the clipboard.

See the ocrxxxx Clipboard Constants for a description of the available clipboard formats.

Definition at line 795 of file olewindo.cpp.

References ocf::TOcApp::EnableEditMenu(), ocf::meEnablePasteLink, OcApp, OcView, and PRECONDITION.

◆ CeEditPasteSpecial()

void ocf::TOleWindow::CeEditPasteSpecial ( owl::TCommandEnabler & ce)
protected

Enables the PasteSpecial command, which lets the user select a clipboard format to be pasted or paste linked.

See the ocrxxxx Clipboard Constants for a description of the available clipboard formats.-

Definition at line 839 of file olewindo.cpp.

References ocf::TOcApp::EnableEditMenu(), ocf::meEnableBrowseClipboard, OcApp, OcView, and PRECONDITION.

◆ CeEditShowObjects()

void ocf::TOleWindow::CeEditShowObjects ( owl::TCommandEnabler & ce)
protected

Checks or unchecks the Edit|Show Objects menu command according to the value of the ShowObjects data member.

Definition at line 971 of file olewindo.cpp.

References owl::TCommandEnabler::Checked, ShowObjects, and owl::TCommandEnabler::Unchecked.

◆ CeEditVerbs()

void ocf::TOleWindow::CeEditVerbs ( owl::TCommandEnabler & ce)
protected

Enables the Edit|Verbs command, which lets the user select one of the OLE-specific verbs from the Edit menu: for example, Edit, Open, or Play.

Definition at line 950 of file olewindo.cpp.

References DragPart.

◆ CeFileClose()

void ocf::TOleWindow::CeFileClose ( owl::TCommandEnabler & ce)
protected

Enables the FileClose command, which lets the user exit from the window view.

Definition at line 623 of file olewindo.cpp.

References _tcscat, _tcscpy, ocf::TOcRemView::GetContainerTitle(), owl::TWindow::GetModule(), GetOcRemView(), IsOpenEditing(), ocf::TOcRemView::Link, and owl::TModule::LoadString().

◆ CleanupWindow()

void ocf::TOleWindow::CleanupWindow ( )
overrideprotectedvirtual

Performs normal window cleanup and informs the TOcView object that the window is closed.

Reimplemented from owl::TWindow.

Definition at line 2554 of file olewindo.cpp.

References owl::TWindow::CleanupWindow(), owl::TWindow::GetApplication(), OleShutDown(), and TYPESAFE_DOWNCAST.

◆ CmEditConvert()

void ocf::TOleWindow::CmEditConvert ( )
protected

Responds to a command with an ID of CM_EDITCONVERT by converting an object from one type to another.

Definition at line 918 of file olewindo.cpp.

References ocf::TOcApp::Convert(), DragPart, and OcApp.

◆ CmEditCopy()

void ocf::TOleWindow::CmEditCopy ( )
protected

Responds to a command with an ID of CM_EDITCOPY by copying the selected text to the clipboard.

Definition at line 783 of file olewindo.cpp.

References ocf::TOcApp::Copy(), DragPart, and OcApp.

◆ CmEditCut()

void ocf::TOleWindow::CmEditCut ( )
protected

Responds to a command with an ID of CM_EDITCUT by copying the selected text to the clipboard before cutting the text.

Definition at line 761 of file olewindo.cpp.

References ocf::TOcApp::Copy(), ocf::TOcPart::Detach(), DragPart, OcApp, and SetSelection().

◆ CmEditDelete()

void ocf::TOleWindow::CmEditDelete ( )
protected

Responds to a command with an ID of CM_EDITDELETE by deleting the selected text.

Definition at line 734 of file olewindo.cpp.

References ocf::TOcPart::Delete(), DragPart, EvOcViewPartInvalid(), ocf::invData, and ocf::invView.

◆ CmEditInsertControl()

void ocf::TOleWindow::CmEditInsertControl ( )
protected

Responds to a command with an ID of CM_EDITINSERTCONTROL by creating, initializing, painting, and selecting an OCX control (TOcControl object).

Definition at line 710 of file olewindo.cpp.

References ocf::TOcApp::BrowseControls(), InsertControl(), OcApp, OcView, and PRECONDITION.

◆ CmEditInsertObject()

void ocf::TOleWindow::CmEditInsertObject ( )
protected

Responds to a command with an ID of CM_EDITINSERTOBJECT by creating, initializing, painting, and selecting an OLE object (TOcPart object).

Definition at line 695 of file olewindo.cpp.

References ocf::TOcApp::Browse(), InsertObject(), OcApp, OcView, and PRECONDITION.

◆ CmEditLinks()

void ocf::TOleWindow::CmEditLinks ( )
protected

Responds to a command with an ID of CM_EDITLINKS by updating the user-selected list of linked items in the current view.

Definition at line 939 of file olewindo.cpp.

References ocf::TOcView::BrowseLinks(), OcView, and PRECONDITION.

◆ CmEditPaste()

void ocf::TOleWindow::CmEditPaste ( )
protected

Responds to a command with an ID of CM_EDITPASTE by pasting an object from the clipboard into the document.

Definition at line 827 of file olewindo.cpp.

References InvalidatePart(), ocf::invView, OcView, and ocf::TOcView::Paste().

◆ CmEditPasteLink()

void ocf::TOleWindow::CmEditPasteLink ( )
protected

Responds to a command with an ID of CM_EDITPASTELINK by creating a link between the current document and the object on the clipboard.

Definition at line 806 of file olewindo.cpp.

References OcView, and ocf::TOcView::Paste().

◆ CmEditPasteSpecial()

void ocf::TOleWindow::CmEditPasteSpecial ( )
protected

Responds to a command with an ID of CM_EDITPASTESPECIAL by letting the user select an object from a list of available formats for pasting from the clipboard onto the document.

Definition at line 851 of file olewindo.cpp.

References EvOcViewPasteObject(), GetOcView(), InvalidatePart(), ocf::invView, OcView, and ocf::TOcView::PasteNative().

◆ CmEditShowObjects()

void ocf::TOleWindow::CmEditShowObjects ( )
protected

Responds to a command with an ID of CM_EDITSHOWOBJECTS by toggling the value of the ShowObjects data member.

Definition at line 960 of file olewindo.cpp.

References owl::TWindow::Invalidate(), and ShowObjects.

◆ CreateOcView()

TOcView * ocf::TOleWindow::CreateOcView ( owl::TRegLink * link,
bool isRemote,
IUnknown * outer )
virtual

Called to perform the actual setting up of the OcView member.

Creates an ObjectComponents view associated with the embedded object. Associates the view with the document template specified in tpl. If isEmbedded is true, a remote view is created (that is, a TOcRemView instead of a TOcView). The outer parameter refers to the IUnknown interface with which the view will aggregate itself.

Derived class needs to construct the TOcView/TOcRemView here & return it

Reimplemented in ocf::TOleView.

Definition at line 307 of file olewindo.cpp.

References GetOcApp(), GetOcDoc(), OcDoc, OcView, Remote, and ocf::TOcDocument.

◆ CreateVerbPopup()

TPopupMenu * ocf::TOleWindow::CreateVerbPopup ( const TOcVerb & ocVerb)
protected

Creates and enables a pop-up menu option (ocVerb) on the Edit menu.

The verb describes an action (for example, Edit, Open, Play) that is appropriate for the embedded object.

Definition at line 2456 of file olewindo.cpp.

References DragPart, ocf::TOcPart::EnumVerbs(), owl::TWindow::GetModule(), owl::TModule::LoadString(), owl::NoAutoDelete, and OleStr.

◆ Deactivate()

bool ocf::TOleWindow::Deactivate ( )
protectedvirtual

If an embedded object is no longer the active embedded object, either because the user has ended an in-place editing session or because the user has clicked outside the embedded object, call Deactivate to unselect the object.

Returns true if successful.

Definition at line 1230 of file olewindo.cpp.

References DragPart, ocf::TOcPart::IsActive(), and SetSelection().

◆ DECLARE_RESPONSE_TABLE()

ocf::TOleWindow::DECLARE_RESPONSE_TABLE ( TOleWindow )
protected

◆ DECLARE_STREAMABLE_OCF()

ocf::TOleWindow::DECLARE_STREAMABLE_OCF ( TOleWindow ,
1  )
protected

◆ EvCommand()

TResult ocf::TOleWindow::EvCommand ( owl::uint id,
HWND hWndCtl,
owl::uint notifyCode ) -> owl::TResult
overrideprotectedvirtual

Overrides the usual EvCommand message to handle the OLE verbs from CM_EDITFIRSTVERB to CM_EDITLASTVERB.

These commands, which are defined in oleview.rh, correspond to the OLE-specific Edit menu selections such as Edit, Open, and Play. All of the other commands are passed to TWindow::EvCommand for normal processing.

Reimplemented from owl::TWindow.

Definition at line 372 of file olewindo.cpp.

References _T, owl::TWindow::EvCommand(), EvDoVerb(), and TRACEX.

◆ EvCommandEnable()

void ocf::TOleWindow::EvCommandEnable ( owl::TCommandEnabler & commandEnabler)
overrideprotectedvirtual

Overrides the usual EvCommandEnable message in order to enable the OLE verbs from CM_EDITFIRSTVERB to CM_EDITLASTVERB.

These commands enable the OLE-specific Edit menu selections, such as Edit, Open, and Play. Many of the other commands are passed to TWindow::EvCommand for normal processing. If a window is embedded, however, TOleWindow calls upon TWindow's RouteCommandEnable to perform command enabling.

Reimplemented from owl::TWindow.

Definition at line 344 of file olewindo.cpp.

References CeEditVerbs(), owl::TWindow::EvCommandEnable(), owl::TWindow::GetFocus(), owl::TWindow::GetHandle(), owl::TWindow::IsChild(), IsRemote(), and owl::TWindow::RouteCommandEnable().

◆ EvDoVerb()

void ocf::TOleWindow::EvDoVerb ( owl::uint whichVerb)
protected

Executes an OLE-related menu option from the Edit menu (for example, Edit, Copy, or Play) that is associated with the selected object.

Definition at line 2477 of file olewindo.cpp.

References ocf::TOcPart::DoVerb(), and DragPart.

◆ EvDropFiles()

void ocf::TOleWindow::EvDropFiles ( owl::TDropInfo dropInfo)
protected

This is a response method for an incoming EV_WM_DROPFILES message.

Accept dropped file from file manager

Definition at line 1089 of file olewindo.cpp.

References GetInsertPosition(), GetOcDoc(), ocf::ihEmbed, InvalidatePart(), ocf::invView, ocf::iwFile, OcView, OleStr, ocf::TOcView::Rename(), SetSelection(), and ocf::TOcPart.

◆ EvHScroll()

void ocf::TOleWindow::EvHScroll ( owl::uint scrollCode,
owl::uint thumbPos,
HWND hWndCtl )
protected

In response to a WM_HSCROLL message, EvHScroll calls TWindow::EvHScroll and invalidates the window.

Definition at line 1482 of file olewindo.cpp.

References owl::TWindow::EvHScroll(), InvalidatePart(), and ocf::invView.

◆ EvLButtonDblClk()

void ocf::TOleWindow::EvLButtonDblClk ( owl::uint modKeys,
const owl::TPoint & point )
protected

Responds to a mouse button double click message.

EvLButtonDblClk performs hit testing to see which embedded object, if any, is being clicked on, then in-place activates the embedded object.

Definition at line 1118 of file olewindo.cpp.

References ocf::TOcPart::Activate(), ocf::TOcView::ActivatePart(), owl::TDC::DPtoLP(), GetOcDoc(), GetOcView(), ocf::TOcDocument::GetParts(), ocf::TOcPartCollection::Locate(), ocf::TOcPart::Open(), PRECONDITION, and SetSelection().

◆ EvLButtonDown()

void ocf::TOleWindow::EvLButtonDown ( owl::uint modKeys,
const owl::TPoint & point )
protected

Responds to a left button down message by beginning a mouse drag transaction at the given point.

Performs additional hit testing to see which embedded object, if any, is being clicked on. The modKeys parameter holds the values for a key combination such as a shift and double click of the mouse button. See also EvRButtonDown

Definition at line 1294 of file olewindo.cpp.

References Deactivate(), owl::TDC::DPtoLP(), DragDC, and Select().

◆ EvLButtonUp()

void ocf::TOleWindow::EvLButtonUp ( owl::uint modKeys,
const owl::TPoint & point )
protected

Responds to a left button up message by ending a mouse drag action.

point refers to the place where the mouse is located. modKeys holds the values for a combined key and mouse transaction.

Definition at line 1401 of file olewindo.cpp.

References DragDC, DragHit, DragPart, DragRect, EvOcViewPartInvalid(), InvalidatePart(), ocf::invData, ocf::invView, owl::TUIHandle::MidCenter, owl::TUIHandle::Outside, owl::TWindow::ReleaseCapture(), owl::TRect::SetNull(), ocf::TOcPart::SetPos(), ocf::TOcPart::SetSize(), owl::TRect::Size(), and owl::TRect::TopLeft().

◆ EvMDIActivate()

void ocf::TOleWindow::EvMDIActivate ( HWND hWndActivated,
HWND hWndDeactivated )
protected

Responds to a message forwarded from the MDI child window (if one exists) and lets the TOcView class know that the view window child window frame has been activated or deactivated.

The hWndActivated parameter contains a handle to the MDI child window being activated. Both the child window being activated being activated and the child window (hWndDeactivated) being deactivated receive this message.

Definition at line 1448 of file olewindo.cpp.

References ocf::TOcView::EvActivate(), OcView, and ocf::Parent.

◆ EvMenuSelect()

void ocf::TOleWindow::EvMenuSelect ( owl::uint menuItemId,
owl::uint flags,
HMENU hMenu )
protected

Handles WM_MENUSELECT to provide hint text in the container's status bar, based on the menu item id.

It treats popup items separately and asks them for their ids. This implementation is similar to the code in TDecoratedFrame.

Definition at line 1507 of file olewindo.cpp.

References _T, owl::TWindow::EvMenuSelect(), owl::TWindow::GetModule(), GetOcRemView(), owl::TModule::LoadString(), and ocf::TOcRemView::SetContainerStatusText().

◆ EvMouseActivate()

uint ocf::TOleWindow::EvMouseActivate ( HWND topParent,
owl::uint hitCode,
owl::uint msg )
protected

Forwards the WM_MOUSEACTIVATE message to the top parent of the TOleWindow object.

Definition at line 1456 of file olewindo.cpp.

References owl::TWindow::ForwardMessage().

◆ EvMouseMove()

void ocf::TOleWindow::EvMouseMove ( owl::uint modKeys,
const owl::TPoint & point )
protected

Responds to a mouse move message with the appropriate transaction.

If the mouse is being dragged, the embedded object is moved. If a resizing operation occurs, then the embedded object is resized. This message is handled only when a mouse dragging or resizing action involving the embedded object occurs.

Definition at line 1330 of file olewindo.cpp.

References ocf::daDropCopy, ocf::daDropLink, ocf::daDropMove, ocf::TOcPart::Delete(), owl::TDC::DPtoLP(), ocf::TOcApp::Drag(), DragDC, DragHit, DragPart, DragPt, DragRect, owl::TDC::DrawFocusRect(), EvOcViewPartInvalid(), owl::TRect::Height(), ocf::invData, ocf::invView, owl::TUIHandle::MidCenter, MinHeight, MinWidth, OcApp, owl::TRect::Offset(), owl::TUIHandle::Outside, owl::TWindow::ReleaseCapture(), StartDrag(), and owl::TRect::Width().

◆ EvOcAmbientGetBackColor()

bool ocf::TOleWindow::EvOcAmbientGetBackColor ( long * rgb)
protectedvirtual

Handles the EV_OC_AMBIENT_GETBACKCOLOR message, which is sent by an OCX control.

Returns false by default. You should override the default implementation so the function stores the window background color in rgb and returns true.

Definition at line 1883 of file olewindo.cpp.

◆ EvOcAmbientGetDisplayAsDefault()

bool ocf::TOleWindow::EvOcAmbientGetDisplayAsDefault ( bool * disp)
protectedvirtual

Handles the EV_OC_AMBIENT_GETDISPLAYASDEFAULT message, which is sent by an OCX control.

Returns false by default. You should override the default implementation so the function stores whether or not the control is a default control (buttons only) in disp and returns true.

Definition at line 1970 of file olewindo.cpp.

◆ EvOcAmbientGetDisplayName()

bool ocf::TOleWindow::EvOcAmbientGetDisplayName ( owl::TString ** name)
protectedvirtual

Handles the EV_OC_AMBIENT_GETDISPLAYNAME message, which is sent by an OCX control.

Returns false by default. You should override the default implementation so the function stores a control name (used in error messages) in name and returns true.

Definition at line 1990 of file olewindo.cpp.

◆ EvOcAmbientGetFont()

bool ocf::TOleWindow::EvOcAmbientGetFont ( IDispatch ** font)
protectedvirtual

Handles the EV_OC_AMBIENT_GETFONT message, which is sent by an OCX control.

Returns false by default. You should override the default implementation so the function stores the window font information in font and returns true.

Definition at line 2009 of file olewindo.cpp.

◆ EvOcAmbientGetForeColor()

bool ocf::TOleWindow::EvOcAmbientGetForeColor ( long * rgb)
protectedvirtual

Handles the EV_OC_AMBIENT_GETFORECOLOR message, which is sent by an OCX control.

Returns false by default. You should override the default implementation so the function stores the window forecolor in rgb and returns true.

Definition at line 1892 of file olewindo.cpp.

◆ EvOcAmbientGetLocaleID()

bool ocf::TOleWindow::EvOcAmbientGetLocaleID ( long * locale)
protectedvirtual

Handles the EV_OC_AMBIENT_GETLOCALEID message, which is sent by an OCX control.

Returns false by default. You should override the default implementation so the function stores the window locale ID in locale and returns true.

Definition at line 1901 of file olewindo.cpp.

◆ EvOcAmbientGetMessageReflect()

bool ocf::TOleWindow::EvOcAmbientGetMessageReflect ( bool * msgReflect)
protectedvirtual

Handles the EV_OC_AMBIENT_GETMESSAGEREFLECT message, which is sent by an OCX control.

Returns false by default. You should override the default implementation so the function stores whether or not the window reflects messages back to the control in msgReflect and returns true.

Definition at line 1920 of file olewindo.cpp.

◆ EvOcAmbientGetScaleUnits()

bool ocf::TOleWindow::EvOcAmbientGetScaleUnits ( owl::TString ** units)
protectedvirtual

Handles the EV_OC_AMBIENT_GETSCALEUNITS message, which is sent by an OCX control.

Returns false by default. You should override the default implementation so the function stores the window scale units in units and returns true.

Definition at line 2000 of file olewindo.cpp.

◆ EvOcAmbientGetShowGrabHandles()

bool ocf::TOleWindow::EvOcAmbientGetShowGrabHandles ( bool * show)
protectedvirtual

Handles the EV_OC_AMBIENT_GETSHOWGRABHANDLES message, which is sent by an OCX control.

Returns false by default. You should override the default implementation so the function stores whether or not the window shows grab handles in show and returns true.

Definition at line 1950 of file olewindo.cpp.

◆ EvOcAmbientGetShowHatching()

bool ocf::TOleWindow::EvOcAmbientGetShowHatching ( bool * show)
protectedvirtual

Handles the EV_OC_AMBIENT_GETSHOWHATCHING message, which is sent by an OCX control.

Returns false by default. You should override the default implementation so the function stores whether or not the window shows hatching in show and returns true.

Definition at line 1960 of file olewindo.cpp.

◆ EvOcAmbientGetSupportsMnemonics()

bool ocf::TOleWindow::EvOcAmbientGetSupportsMnemonics ( bool * support)
protectedvirtual

Handles the EV_OC_AMBIENT_GETSUPPORTSMNEMONICS message, which is sent by an OCX control.

Returns false by default. You should override the default implementation so the function stores whether or not the window supports mnemonics in support and returns true.

Definition at line 1980 of file olewindo.cpp.

◆ EvOcAmbientGetTextAlign()

bool ocf::TOleWindow::EvOcAmbientGetTextAlign ( short * align)
protectedvirtual

Handles the EV_OC_AMBIENT_GETTEXTALIGN message, which is sent by an OCX control.

Returns false by default. You should override the default implementation so the function stores the window text alignment in show and returns true.

Definition at line 1910 of file olewindo.cpp.

◆ EvOcAmbientGetUIDead()

bool ocf::TOleWindow::EvOcAmbientGetUIDead ( bool * dead)
protectedvirtual

Handles the EV_OC_AMBIENT_GETUIDEAD message, which is sent by an OCX control.

Returns false by default. You should override the default implementation so the function stores whether or not the window's user interface is disabled in dead and returns true.

Definition at line 1940 of file olewindo.cpp.

◆ EvOcAmbientGetUserMode()

bool ocf::TOleWindow::EvOcAmbientGetUserMode ( bool * mode)
protectedvirtual

Handles the EV_OC_AMBIENT_GETUSERMODE message, which is sent by an OCX control.

Returns false by default. You should override the default implementation so the function stores whether or not the window is in user mode in mode and returns true.

Definition at line 1930 of file olewindo.cpp.

◆ EvOcAmbientSetBackColor()

bool ocf::TOleWindow::EvOcAmbientSetBackColor ( long rgb)
protectedvirtual

Handles the EV_OC_AMBIENT_SETBACKCOLOR message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window changes its background color to rgb and returns true.

Definition at line 2018 of file olewindo.cpp.

◆ EvOcAmbientSetDisplayAsDefault()

bool ocf::TOleWindow::EvOcAmbientSetDisplayAsDefault ( bool disp)
protectedvirtual

Handles the EV_OC_AMBIENT_SETDISPLAYASDEFAULT message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window displays itself as a default control (if the window represents a button control) if disp is true.

Definition at line 2101 of file olewindo.cpp.

◆ EvOcAmbientSetDisplayName()

bool ocf::TOleWindow::EvOcAmbientSetDisplayName ( owl::TString * name)
protectedvirtual

Handles the EV_OC_AMBIENT_SETDISPLAYNAME message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window changes its display name (for error messages) to name and returns true.

Definition at line 2120 of file olewindo.cpp.

◆ EvOcAmbientSetFont()

bool ocf::TOleWindow::EvOcAmbientSetFont ( IDispatch * font)
protectedvirtual

Handles the EV_OC_AMBIENT_SETFONT message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window changes its font to font and returns true.

Definition at line 2138 of file olewindo.cpp.

◆ EvOcAmbientSetForeColor()

bool ocf::TOleWindow::EvOcAmbientSetForeColor ( long rgb)
protectedvirtual

Handles the EV_OC_AMBIENT_SETFORECOLOR message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window changes its background color to rgb and returns true.

Definition at line 2027 of file olewindo.cpp.

◆ EvOcAmbientSetLocaleID()

bool ocf::TOleWindow::EvOcAmbientSetLocaleID ( long locale)
protectedvirtual

Handles the EV_OC_AMBIENT_SETLOCALEID message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window changes its locale ID to locale and returns true.

Definition at line 2036 of file olewindo.cpp.

◆ EvOcAmbientSetMessageReflect()

bool ocf::TOleWindow::EvOcAmbientSetMessageReflect ( bool msgReflect)
protectedvirtual

Handles the EV_OC_AMBIENT_SETMESSAGEREFLECT message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window does or doesn't reflect messages according to the value in msgReflect.

Definition at line 2055 of file olewindo.cpp.

◆ EvOcAmbientSetScaleUnits()

bool ocf::TOleWindow::EvOcAmbientSetScaleUnits ( owl::TString * units)
protectedvirtual

Handles the EV_OC_AMBIENT_SETSCALEUNITS message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window sets its scale units equal to units and returns true.

Definition at line 2129 of file olewindo.cpp.

◆ EvOcAmbientSetShowGrabHandles()

bool ocf::TOleWindow::EvOcAmbientSetShowGrabHandles ( bool show)
protectedvirtual

Handles the EV_OC_AMBIENT_SETSHOWGRABHANDLES message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window shows or hides grab handles according to the value in show.

Definition at line 2082 of file olewindo.cpp.

◆ EvOcAmbientSetShowHatching()

bool ocf::TOleWindow::EvOcAmbientSetShowHatching ( bool show)
protectedvirtual

Handles the EV_OC_AMBIENT_SETSETSHOWHATCHING message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window shows or hides hatching according to the value in hatching.

Definition at line 2091 of file olewindo.cpp.

◆ EvOcAmbientSetSupportsMnemonics()

bool ocf::TOleWindow::EvOcAmbientSetSupportsMnemonics ( bool support)
protectedvirtual

Handles the EV_OC_AMBIENT_SETSUPPORTSMNEMONICS message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window turns its support for mnemonics on or off according to the value in support.

Definition at line 2111 of file olewindo.cpp.

◆ EvOcAmbientSetTextAlign()

bool ocf::TOleWindow::EvOcAmbientSetTextAlign ( short align)
protectedvirtual

Handles the EV_OC_AMBIENT_SETTEXTALIGN message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window aligns text according to the value in align and returns true.

Definition at line 2045 of file olewindo.cpp.

◆ EvOcAmbientSetUIDead()

bool ocf::TOleWindow::EvOcAmbientSetUIDead ( bool dead)
protectedvirtual

Handles the EV_OC_AMBIENT_SETUIDEAD message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window enables or disables itself according to the value in dead.

Definition at line 2073 of file olewindo.cpp.

◆ EvOcAmbientSetUserMode()

bool ocf::TOleWindow::EvOcAmbientSetUserMode ( bool mode)
protectedvirtual

Handles the EV_OC_AMBIENT_SETUSERMODE message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window sets user mode equal to the value in mode.

Definition at line 2064 of file olewindo.cpp.

◆ EvOcCtrlClick()

bool ocf::TOleWindow::EvOcCtrlClick ( TCtrlEvent * pev)
protectedvirtual

Handles the EV_OC_CTRLCLICK message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window responds to the message and returns true.

Definition at line 2152 of file olewindo.cpp.

◆ EvOcCtrlCustomEvent()

bool ocf::TOleWindow::EvOcCtrlCustomEvent ( TCtrlCustomEvent * pev)
protectedvirtual

Handles the EV_OC_CTRLCUSTOMEVENT message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window responds to the message and returns true.

Definition at line 2251 of file olewindo.cpp.

◆ EvOcCtrlDblClick()

bool ocf::TOleWindow::EvOcCtrlDblClick ( TCtrlEvent * pev)
protectedvirtual

Handles the EV_OC_CTRLDBLCLICK message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window responds to the message and returns true.

Definition at line 2161 of file olewindo.cpp.

◆ EvOcCtrlErrorEvent()

bool ocf::TOleWindow::EvOcCtrlErrorEvent ( TCtrlErrorEvent * pev)
protectedvirtual

Handles the EV_OC_CTRLERROREVENT message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window responds to the message and returns true.

Definition at line 2215 of file olewindo.cpp.

◆ EvOcCtrlFocus()

bool ocf::TOleWindow::EvOcCtrlFocus ( TCtrlFocusEvent * pev)
protectedvirtual

Handles the EV_OC_CTRLFOCUS message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window responds to the message and returns true.

Definition at line 2224 of file olewindo.cpp.

◆ EvOcCtrlKeyDown()

bool ocf::TOleWindow::EvOcCtrlKeyDown ( TCtrlKeyEvent * pev)
protectedvirtual

Handles the EV_OC_CTRLKEYDOWN message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window responds to the message and returns true.

Definition at line 2197 of file olewindo.cpp.

◆ EvOcCtrlKeyUp()

bool ocf::TOleWindow::EvOcCtrlKeyUp ( TCtrlKeyEvent * pev)
protectedvirtual

Handles the EV_OC_CTRLKEYUP message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window responds to the message and returns true.

Definition at line 2206 of file olewindo.cpp.

◆ EvOcCtrlMouseDown()

bool ocf::TOleWindow::EvOcCtrlMouseDown ( TCtrlMouseEvent * pev)
protectedvirtual

Handles the EV_OC_CTRLMOUSEDOWN message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window responds to the message and returns true.

Definition at line 2170 of file olewindo.cpp.

◆ EvOcCtrlMouseMove()

bool ocf::TOleWindow::EvOcCtrlMouseMove ( TCtrlMouseEvent * pev)
protectedvirtual

Handles the EV_OC_CTRLMOUSEMOVE message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window responds to the message and returns true.

Definition at line 2188 of file olewindo.cpp.

◆ EvOcCtrlMouseUp()

bool ocf::TOleWindow::EvOcCtrlMouseUp ( TCtrlMouseEvent * pev)
protectedvirtual

Handles the EV_OC_CTRLMOUSEUP message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window responds to the message and returns true.

Definition at line 2179 of file olewindo.cpp.

◆ EvOcCtrlPropertyChange()

bool ocf::TOleWindow::EvOcCtrlPropertyChange ( TCtrlPropertyEvent * pev)
protectedvirtual

Handles the EV_OC_CTRLPROPERTYCHANGE message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window responds to the message and returns true.

Definition at line 2233 of file olewindo.cpp.

◆ EvOcCtrlPropertyRequestEdit()

bool ocf::TOleWindow::EvOcCtrlPropertyRequestEdit ( TCtrlPropertyEvent * pev)
protectedvirtual

Handles the EV_OC_PROPERTYREQUESTEDIT message, which is sent by an OCX control.

Returns false by default. You can override the default implementation so the window responds to the message and returns true.

Definition at line 2242 of file olewindo.cpp.

◆ EvOcEvent()

TResult ocf::TOleWindow::EvOcEvent ( owl::TParam1 param1,
owl::TParam2 param2 )
protected

Responds to a WM_OCEVENT message and subdispatches the message based on wParam.

ObjectComponents sends WM_OCEVENT messages when it needs to communicate with an OLE-generated event; for example, if a server wants to display toolbars.

Definition at line 1537 of file olewindo.cpp.

References owl::TEventHandler::Dispatch(), owl::TEventHandler::Find(), and WM_OCEVENT.

◆ EvOcPartInvalid()

bool ocf::TOleWindow::EvOcPartInvalid ( TOcPart & )
inlineprotected

Handles a WM_OCEVENT message concerning the embedded or linked object in the document and invalidates the part.

If the TOleWindow object is unable to handle the message, EvOcPartInvalid returns false.

Definition at line 481 of file olewindo.h.

◆ EvOcViewAttachWindow()

bool ocf::TOleWindow::EvOcViewAttachWindow ( bool attach)
protected

Attaches the view to its ObjectWindows parent window so that the user can perform open editing on the embedded object, or if the embedded object has been de-activated while in-place editing was occurring.

If the TOleWindow object is unable to handle the message, EvOcViewAttachWindow returns false.

Definition at line 2490 of file olewindo.cpp.

References owl::TWindow::GetApplication(), IsOpenEditing(), ocf::Parent, owl::TWindow::SetParent(), and TYPESAFE_DOWNCAST.

◆ EvOcViewBorderSpaceReq()

bool ocf::TOleWindow::EvOcViewBorderSpaceReq ( owl::TRect * rect)
protected

Requests that the server create space for a tool bar in the view of an embedded object.

If the TOleWindow object is unable to handle the message, EvOcViewBorderSpaceReq returns false, the default value.

Definition at line 1585 of file olewindo.cpp.

◆ EvOcViewBorderSpaceSet()

bool ocf::TOleWindow::EvOcViewBorderSpaceSet ( owl::TRect * rect)
protected

Requests that the server's tool bar be placed in the container's view of an embedded object.

If the TOleWindow object is unable to handle the message, EvOcViewBorderSpaceSet returns false, the default value.

Definition at line 1597 of file olewindo.cpp.

◆ EvOcViewBreakLink()

bool ocf::TOleWindow::EvOcViewBreakLink ( TOcLinkView & view)
protected

EvOcViewBreakLink responds to an OC_VIEWBREAKLINK message that TOcLinkView sends when the server document that provides the link shuts down.

EvOcViewBreakLink breaks the link with a server document or a selection by deleting the TOleLinkView associated with the TOcLinkView (view). Returns false if unsuccessful. Doc/View applications use TOleView's EvOcViewBreakLink, which overrides TOleWindow's version.

Definition at line 2618 of file olewindo.cpp.

◆ EvOcViewClipData()

bool ocf::TOleWindow::EvOcViewClipData ( TOcFormatData & format)
protected

Requests clipboard data in the specified format.

If the TOleWindow object is unable to handle the message, EvOcViewClipData returns false.

Definition at line 1863 of file olewindo.cpp.

◆ EvOcViewClose()

bool ocf::TOleWindow::EvOcViewClose ( )
protected

Asks the server to close a currently open document and its associated view.

If the TOleWindow object is unable to handle the message, EvOcViewClose returns false.

TOcRemView is going away, disconnect TOleWindow with it so we don't use it later. If this is a remote view, then close the doc too.

Definition at line 1760 of file olewindo.cpp.

References ocf::TOcDocument::Close(), IsRemote(), OcDoc, and OcView.

◆ EvOcViewDoVerb()

bool ocf::TOleWindow::EvOcViewDoVerb ( owl::uint verb)
protected

Handles the EV_OC_VIEWDOVERB message.

Returns false. Implement your own event handler to control how the window responds to verbs selected by the user.

Definition at line 2518 of file olewindo.cpp.

◆ EvOcViewDrag()

bool ocf::TOleWindow::EvOcViewDrag ( TOcDragDrop & ddInfo)
protected

Handles an OC_VIEWDRAG message asking the container to provide visual feedback while the user is dragging the embedded object.

If the TOleWindow object is unable to handle the message, EvOcViewDrag returns false.

Definition at line 1621 of file olewindo.cpp.

References owl::TDC::Rectangle(), owl::TDC::SelectObject(), owl::TDC::SelectStockObject(), and owl::TDC::SetROP2().

◆ EvOcViewDrop()

bool ocf::TOleWindow::EvOcViewDrop ( TOcDragDrop & ddInfo)
protected

Requests a given object be dropped at a specified place on the container's window.

If the TOleWindow object is unable to handle the message, EvOcViewDrop returns false.

Definition at line 1609 of file olewindo.cpp.

◆ EvOcViewGetItemName()

bool ocf::TOleWindow::EvOcViewGetItemName ( TOcItemName & item)
protected

Handles the EV_OC_VIEWGETITEMNAME. Returns false.

Definition at line 2587 of file olewindo.cpp.

◆ EvOcViewGetPalette()

bool ocf::TOleWindow::EvOcViewGetPalette ( LOGPALETTE ** palette)
protected

Requests the color palette to draw the object.

If the TOleWindow object is unable to handle the message, EvOcViewGetPalette returns false.

Definition at line 1852 of file olewindo.cpp.

◆ EvOcViewGetScale()

bool ocf::TOleWindow::EvOcViewGetScale ( TOcScaleFactor & scaleFactor)
protected

Responds to an OC_VIEWGETSCALE message and gets the scaling for the server object, causing the embedded object to be displayed using the correct scaling value (for example, 120%).

scaleFactor indicates the scaling factor, the ratio between the size of the embedded object and the size of the site where the object is to be displayed. If the TOleWindow object is unable to handle the message, EvOcViewGetScale returns false.

Definition at line 1682 of file olewindo.cpp.

References Scale.

◆ EvOcViewGetSiteRect()

bool ocf::TOleWindow::EvOcViewGetSiteRect ( owl::TRect * rect)
protected

Gets the size of the rectangle (the site) where the embedded object is to be placed.

rect refers to the size of the bounding rectangle that encloses the embedded object.

Definition at line 1652 of file olewindo.cpp.

References owl::TDC::LPtoDP().

◆ EvOcViewInsMenus()

bool ocf::TOleWindow::EvOcViewInsMenus ( TOcMenuDescr & sharedMenu)
protected

Requests that the menus in a composite menu (a menu composed of both the server's and the container's menus).

If the TOleWindow object is unable to handle the message, EvOcViewInsMenus returns false.

Definition at line 1823 of file olewindo.cpp.

◆ EvOcViewLoadPart()

bool ocf::TOleWindow::EvOcViewLoadPart ( TOcSaveLoad & ocLoad)
protected

Requests that an embedded object load itself.

If the TOleWindow object is unable to handle the message, EvOcViewLoadPart returns false.

Definition at line 1787 of file olewindo.cpp.

◆ EvOcViewOpenDoc()

bool ocf::TOleWindow::EvOcViewOpenDoc ( LPCTSTR path)
protected

Asks the container to open an existing document, which will be used for linking from the embedding site.

If the TOleWindow object is unable to handle the message, EvOcViewOpenDoc returns false.

Definition at line 1811 of file olewindo.cpp.

◆ EvOcViewPaint()

bool ocf::TOleWindow::EvOcViewPaint ( TOcViewPaint & vp)
protected

Asks the server to paint an object at a given position on a specified device context.

If the TOleWindow object is unable to handle the message, EvOcViewPaint returns false.

Definition at line 1722 of file olewindo.cpp.

References owl::TDC::GetDeviceCaps(), owl::TWindow::Paint(), PaintLink(), PaintParts(), PaintSelection(), Pos, owl::TRect::SetNull(), and SetupDC().

◆ EvOcViewPartActivate()

bool ocf::TOleWindow::EvOcViewPartActivate ( TOcPart & ocPart)
protected

Notifies ObjectWindows container applications that an embedded object is active.

ocPart is the embedded object that has been activated. EvOcViewPartActivate returns true after the embedded object has been activated.

Definition at line 1694 of file olewindo.cpp.

References SetSelection().

◆ EvOcViewPartInvalid()

bool ocf::TOleWindow::EvOcViewPartInvalid ( TOcPartChangeInfo & changeInfo)
protectedvirtual

Informs an active container that one of its embedded objects needs to be redrawn.

Changes in the container's part should be reflected in any other, non-active views. Returns true after all views have been notified of the necessary changes. If the TOleWindow object is unable to handle the message, EvOcViewPartInvalid returns false.

Reimplemented in ocf::TOleView.

Definition at line 2429 of file olewindo.cpp.

References InvalidatePart(), owl::TWindow::InvalidateRect(), and owl::TDC::LPtoDP().

◆ EvOcViewPartSize()

bool ocf::TOleWindow::EvOcViewPartSize ( TOcPartSize & size)
protected

The server asks itself the size of its current rectangle and lets the container know about the size of the server's view in pixels.

If the TOleWindow object is unable to handle the message, EvOcViewPartSize returns false.

Definition at line 1799 of file olewindo.cpp.

◆ EvOcViewPasteObject()

bool ocf::TOleWindow::EvOcViewPasteObject ( TOcInitInfo & init)
protected

Pastes an OLE object into the document pointed to by the TOleWindow::OcDoc data member.

Definition at line 1705 of file olewindo.cpp.

References GetInsertPosition(), GetOcDoc(), ocf::TOcInitInfo::ReleaseDataObject(), and ocf::TOcPart.

◆ EvOcViewSavePart()

bool ocf::TOleWindow::EvOcViewSavePart ( TOcSaveLoad & ocSave)
protected

Asks the server to write an embedded object's data (the part as represented by the ocSave parameter) into storage.

If the TOleWindow object is unable to handle the message, EvOcViewSavePart returns false.

Definition at line 1776 of file olewindo.cpp.

◆ EvOcViewScroll()

bool ocf::TOleWindow::EvOcViewScroll ( TOcScrollDir scrollDir)
protected

Asks the container to scroll the view window and updates any internal state as needed.

EvOcViewScroll is called when the server is resizing or a drop interaction occurs near the edge of the window. If the TOleWindow object is unable to handle the message, EvOcViewScroll returns false.

Definition at line 1641 of file olewindo.cpp.

◆ EvOcViewSetData()

bool ocf::TOleWindow::EvOcViewSetData ( TOcFormatData & format)
protected

Definition at line 1872 of file olewindo.cpp.

◆ EvOcViewSetLink()

bool ocf::TOleWindow::EvOcViewSetLink ( TOcLinkView & view)
protected

Responds to an OC_VIEWSETLINK message TOcLinkView sends when the server document provides a link to a container document.

EvOcViewSetLink establishes the link between a TOleLinkView and a TOcLinkView. view references the view with which the document or selection is associated. Returns false if unsuccessful. Doc/View applications use TOleView 's implementation of this function.

Definition at line 2604 of file olewindo.cpp.

◆ EvOcViewSetScale()

bool ocf::TOleWindow::EvOcViewSetScale ( TOcScaleFactor & scaleFactor)
protected

Responds to an OC_VIEWSETSCALE message and handles the scaling for server application, ensuring that the embedded object is displayed using the correct scaling values (for example, 120%).

The server uses this value in its paint procedure when the embedded object needs to be redrawn. scaleFactor indicates the scaling factor, the ratio between the size of the embedded object and the size of the site where the object is to be displayed. If the TOleWindow object is unable to handle the message, EvOcViewSetScale returns false.

Definition at line 2577 of file olewindo.cpp.

References Scale.

◆ EvOcViewSetSiteRect()

bool ocf::TOleWindow::EvOcViewSetSiteRect ( owl::TRect * rect)
protected

Converts the rect to logical units.

This area, referred to as the site, is measured in logical units that take into account any scaling factor. rect refers to the size of the bounding rectangle that encloses the embedded object.

Definition at line 1665 of file olewindo.cpp.

References owl::TDC::DPtoLP().

◆ EvOcViewSetTitle()

void ocf::TOleWindow::EvOcViewSetTitle ( LPCTSTR title)
protected

Sets the window's caption to title.

The new caption is the name of the in-place active server merged with the caption of the container's window. In the case of an MDI child window, the new caption is the in-place server's name merged with the caption of the MDI child window. When the child window is maximized, the merged caption is appended to the end of the main frame window's caption.

Definition at line 1567 of file olewindo.cpp.

References GetFileName(), GetOcRemView(), ocf::TOcRemView::Link, and ocf::Parent.

◆ EvOcViewShowTools()

bool ocf::TOleWindow::EvOcViewShowTools ( TOcToolBarInfo & tbi)
protected

Asks the server to provide its tool bars for display in the container's window.

Returns true if tool bars are supplied. If the TOleWindow object is unable to handle the message, EvOcViewShowTools returns false.

Definition at line 1835 of file olewindo.cpp.

References CHECK, owl::TWindow::GetApplication(), owl::TApplication::GetMainWindow(), and owl::IDW_TOOLBAR.

◆ EvOcViewTitle()

LPCTSTR ocf::TOleWindow::EvOcViewTitle ( )
protected

Asks the container for the caption in its frame window.

Returns the frame window's caption.

Definition at line 1550 of file olewindo.cpp.

References ContainerName, and ocf::Parent.

◆ EvOcViewTransformCoords()

bool ocf::TOleWindow::EvOcViewTransformCoords ( owl::uint verb)
protectedvirtual

Definition at line 2527 of file olewindo.cpp.

◆ EvPaint()

void ocf::TOleWindow::EvPaint ( )
protected

Sets up the dc for proper scaling and scrolling and then calls the derived class's Paint method to paint the contents of the dc.

Definition at line 2398 of file olewindo.cpp.

References owl::TWindow::DefaultProcessing(), owl::TDC::GetDeviceCaps(), owl::TWindow::IsFlagSet(), owl::TWindow::Paint(), PaintParts(), owl::TPaintDC::Ps, SetupDC(), and owl::wfAlias.

◆ EvRButtonDown()

void ocf::TOleWindow::EvRButtonDown ( owl::uint modKeys,
const owl::TPoint & point )
protected

Responds to a right button down message.

Performs additional hit testing to see which embedded object, if any, is being clicked on and displays a local menu with appropriate options for the embedded object. point refers to the place where the mouse is located. modKeys holds the values for a combined key and transaction, such as a Shift+Double-click of the mouse button.

Definition at line 1180 of file olewindo.cpp.

References _T, owl::AutoDelete, owl::TWindow::ClientToScreen(), CreateVerbPopup(), owl::TDC::DPtoLP(), DragPart, owl::TWindow::GetModule(), GetOcDoc(), ocf::TOcDocument::GetParts(), owl::TMenu::GetSubMenu(), owl::TWindow::LoadMenu(), owl::TModule::LoadString(), ocf::TOcPartCollection::Locate(), OleStr, PRECONDITION, and SetSelection().

◆ EvSetCursor()

bool ocf::TOleWindow::EvSetCursor ( HWND hWndCursor,
owl::uint hitTest,
owl::uint mouseMsg )
protected

Performs hit testing to tell where the cursor is located within the window and what object the cursor is moving over.

If the cursor is within an embedded object, EvSetCursor changes the shape of the cursor. When the cursor is over an inactive part and not on a handle, EvSetCursor uses an arrow cursor. If the cursor is on one of the handles of the embedded part, EvSetCursor changes the cursor to a resizing cursor.

Definition at line 994 of file olewindo.cpp.

References DragPart, owl::TUIHandle::Framed, ocf::TOcView::GetActivePart(), owl::TWindow::GetCursorPos(), ocf::TOcPart::GetRect(), owl::TUIHandle::Grapples, owl::TUIHandle::HandlesIn, owl::TWindow::LoadCursor(), owl::TDC::LPtoDP(), owl::TUIHandle::MidCenter, OcView, owl::TUIHandle::Outside, owl::TWindow::ScreenToClient(), owl::TWindow::SetCursor(), and ShowCursor().

◆ EvSetFocus()

void ocf::TOleWindow::EvSetFocus ( HWND hWndLostFocus)
protected

Responds to a change in focus of the window.

hWndLostFocus contains a handle to the window losing the focus. EvSetFocus checks to see if an in-place server exists and, if so, passes the focus to the in-place server.

Definition at line 1470 of file olewindo.cpp.

References ocf::TOcView::EvSetFocus(), owl::TWindow::EvSetFocus(), and OcView.

◆ EvSize()

void ocf::TOleWindow::EvSize ( owl::uint sizeType,
const owl::TSize & size )
protected

Passes the event to TWindow::EvSize for normal processing and forwards the event to TOcView::EvResize to let a possible in-place server adjust its size.

Definition at line 1433 of file olewindo.cpp.

References ocf::TOcView::EvResize(), owl::TWindow::EvSize(), and OcView.

◆ EvVScroll()

void ocf::TOleWindow::EvVScroll ( owl::uint scrollCode,
owl::uint thumbPos,
HWND hWndCtl )
protected

In response to a WM_VSCROLL message, EvVScroll calls TWindow::EvVScroll and invalidates the window.

Definition at line 1494 of file olewindo.cpp.

References owl::TWindow::EvVScroll(), InvalidatePart(), and ocf::invView.

◆ GetFileName()

LPCTSTR ocf::TOleWindow::GetFileName ( )
inlineprotectedvirtual

On linking must be implemented and return the file name.

Reimplemented in ocf::TOleView.

Definition at line 486 of file olewindo.h.

◆ GetInsertPosition()

void ocf::TOleWindow::GetInsertPosition ( owl::TRect & rect)
protectedvirtual

Gets the position (rect) where the embedded object is inserted.

You need to override this function if you want to override any default position.

Note
Currently we're using only the top left point for position, size is redundant.

Definition at line 670 of file olewindo.cpp.

References owl::TDC::GetDeviceCaps(), and owl::TDC::LPtoDP().

◆ GetLogPerUnit()

void ocf::TOleWindow::GetLogPerUnit ( owl::TSize & logPerUnit)
protectedvirtual

Gets the logical units (typically pixels) per inch for a document so that the document's embedded objects can be painted correctly on the screen device context.

Definition at line 2330 of file olewindo.cpp.

References owl::TDC::GetDeviceCaps().

◆ GetOcApp()

TOcApp * ocf::TOleWindow::GetOcApp ( )
inline

Returns the ObjectComponents application associated with this window.

Every ObjectComponents application that supports linking and embedding has an associated TOcApp object.

Definition at line 434 of file olewindo.h.

References OcApp.

◆ GetOcControlOfOCX()

TOcControl * ocf::TOleWindow::GetOcControlOfOCX ( CLSID ocxIID,
owl::uint id = 0 )

◆ GetOcDoc()

TOcDocument * ocf::TOleWindow::GetOcDoc ( )
inline

Returns the ObjectComponents document associated with this window.

This document can be either a container's or a server's document. If this is a TOcDocument created by the container, the document is an entire compound document, which may consist of one or more embedded objects. If this is a TOcDocument created by the server, the document is a single OLE object's data.

Definition at line 405 of file olewindo.h.

References OcDoc.

◆ GetOcRemView()

TOcRemView * ocf::TOleWindow::GetOcRemView ( )
inline

Returns the server's view associated with this window.

In order to draw the OLE object in the container's window, the server creates a remote view.

Note
Returns 0 in case of failure. For example, a TOleWindow of a container application does not have an associated 'TOcRemView' and will return 0.

Definition at line 426 of file olewindo.h.

References OcView, and TYPESAFE_DOWNCAST.

◆ GetOcView()

TOcView * ocf::TOleWindow::GetOcView ( )
inline

Points to the ObjectComponents container view associated with this window.

The container view holds the compound document (that is a document containing one or more embedded objects).

Definition at line 414 of file olewindo.h.

References OcView.

◆ HasActivePart()

bool ocf::TOleWindow::HasActivePart ( )

Returns true if the container's view holds an in-place active embedded object.

Definition at line 980 of file olewindo.cpp.

References ocf::TOcView::GetActivePart(), and OcView.

◆ InClient()

bool ocf::TOleWindow::InClient ( owl::TDC & dc,
owl::TPoint & point )
protected

Returns true if point is inside the client area of the window. Returns false otherwise.

Definition at line 1315 of file olewindo.cpp.

References owl::TDC::DPtoLP(), and owl::TWindow::GetClientRect().

◆ Init()

void ocf::TOleWindow::Init ( )
protected

Initializes the TOleWindow object with the appropriate window style and initializes the necessary data members (for example, sets the accelerator ID to IDA_OLEVIEW).

Definition at line 231 of file olewindo.cpp.

References ocf::TOcApp::AddRef(), CHECK, DragDC, DragHit, DragPart, owl::TWindow::GetApplication(), MinHeight, MinWidth, OcApp, owl::TUIHandle::Outside, and TYPESAFE_DOWNCAST.

◆ InsertControl() [1/3]

TOcControl * ocf::TOleWindow::InsertControl ( CLSID & ocxIID,
owl::TRect * pos = 0,
int id = 0 )

Definition at line 546 of file olewindo.cpp.

References ocf::ihEmbed, InsertControl(), ocf::iwNewOcx, and OcView.

◆ InsertControl() [2/3]

TOcControl * ocf::TOleWindow::InsertControl ( const owl::TString & ocxProgID,
owl::TRect * pos = 0,
int id = 0 )

Definition at line 563 of file olewindo.cpp.

References InsertControl().

◆ InsertControl() [3/3]

◆ InsertObject() [1/3]

TOcPart * ocf::TOleWindow::InsertObject ( CLSID & objIID,
owl::TRect * pos = 0 )

Definition at line 473 of file olewindo.cpp.

References ocf::ihEmbed, InsertObject(), ocf::iwNew, and OcView.

◆ InsertObject() [2/3]

TOcPart * ocf::TOleWindow::InsertObject ( owl::TString & objProgId,
owl::TRect * pos = 0 )

Definition at line 490 of file olewindo.cpp.

References InsertObject().

◆ InsertObject() [3/3]

TOcPart * ocf::TOleWindow::InsertObject ( TOcInitInfo & initInfo,
owl::TRect * pos = 0 )

◆ InvalidatePart()

void ocf::TOleWindow::InvalidatePart ( TOcInvalidate invalid)
protectedvirtual

Invalidates the area where the embedded object exists.

The server uses this function to tell OLE that the part (the embedded object), has changed. OLE then asks the server to redraw the part into a new metafile so that OLE can redraw the object for the container application even when the server application is not active.

Definition at line 424 of file olewindo.cpp.

References GetOcRemView(), and ocf::TOcRemView::Invalidate().

◆ IsOpenEditing()

bool ocf::TOleWindow::IsOpenEditing ( ) const

Checks whether the window is in Open-Edit mode.

Definition at line 434 of file olewindo.cpp.

References GetOcRemView(), and ocf::TOcRemView::OpenEditing.

◆ IsRemote()

bool ocf::TOleWindow::IsRemote ( ) const
inline

Returns true if the window represents an embedded server.

Returns false otherwise.

Definition at line 448 of file olewindo.h.

References Remote.

◆ OleShutDown()

bool ocf::TOleWindow::OleShutDown ( )
virtual

Shuts down the associated ObjectComponents partners, if possible.

Reimplemented in ocf::TOleView.

Definition at line 2536 of file olewindo.cpp.

References ocf::TOcView::EvClose(), GetOcRemView(), IsOpenEditing(), IsRemote(), and OcView.

◆ PaintLink()

bool ocf::TOleWindow::PaintLink ( owl::TDC & dc,
bool erase,
owl::TRect & rect,
owl::TString & moniker )
inlineprotectedvirtual

Repaints part of an object on the given device context.

The erase parameter is true if the background of the part is to be repainted. rect indicates the area that needs repainting. metafile indicates whether or not the part is a metafile. By default, PaintLink returns false. If your application supports working with parts of an object, you should override the PaintLink function, providing your own implementation for painting an object part. For more information, see Step 17 of the OWL tutorial.

Definition at line 471 of file olewindo.h.

◆ PaintParts()

bool ocf::TOleWindow::PaintParts ( owl::TDC & dc,
bool erase,
owl::TRect & rect,
bool metafile )
protectedvirtual

Repaints the embedded objects on the given device context.

The erase parameter is true if the background of the embedded object is to be repainted. rect indicates the area that needs repainting. metafile indicates whether or not the object is a metafile.

Definition at line 2263 of file olewindo.cpp.

References ocf::asDefault, owl::TUIHandle::DashFramed, owl::TDC::DPtoLP(), ocf::TOcPart::Draw(), owl::TUIHandle::Framed, owl::TWindow::GetClientRect(), GetOcDoc(), ocf::TOcPart::GetRect(), owl::TWindow::GetWindowRect(), owl::TUIHandle::Grapples, ocf::TOcPart::IsLink(), IsRemote(), ocf::TOcPart::IsSelected(), ocf::TOcPart::IsVisible(), owl::TUIHandle::Paint(), and ShowObjects.

◆ PaintSelection()

bool ocf::TOleWindow::PaintSelection ( owl::TDC & dc,
bool erase,
owl::TRect & rect,
void * userData = 0 )
inlineprotectedvirtual

Repaints the selected portion of a document on the given device context.

The parameter userData, which TocDataProvider passes to the application, contains information the application uses to repaint the selection. Similar to a moniker, this information tells the application where to find the selection and how to repaint it.

Definition at line 458 of file olewindo.h.

◆ Select()

bool ocf::TOleWindow::Select ( owl::uint modKeys,
owl::TPoint & point )
protectedvirtual

Selects the embedded object at the specified point (measured in logical units).

Returns true if the object is captured by the mouse drag; otherwise, returns false.

Definition at line 1248 of file olewindo.cpp.

References DragDC, DragHit, DragPart, DragPt, DragRect, DragStart, owl::TDC::DrawFocusRect(), owl::TUIHandle::Framed, GetOcDoc(), ocf::TOcPart::GetRect(), owl::TUIHandle::Grapples, owl::TUIHandle::HandlesIn, ocf::TOcPart::IsSelected(), ocf::TOcPart::IsVisible(), owl::TUIHandle::MidCenter, PRECONDITION, owl::TWindow::SetCapture(), and SetSelection().

◆ SelectEmbedded()

bool ocf::TOleWindow::SelectEmbedded ( )
inline

Selects the embedded object and returns true to indicate that the object has been selected.

Definition at line 441 of file olewindo.h.

References DragPart.

◆ SetScale()

void ocf::TOleWindow::SetScale ( owl::uint16 percent)
protectedvirtual

Sets the ratio of the embedded object's size to the size of the site.

Definition at line 2318 of file olewindo.cpp.

References owl::TWindow::Invalidate(), Scale, and ocf::TOcScaleFactor::SetScale().

◆ SetSelection()

void ocf::TOleWindow::SetSelection ( TOcPart * part)
protectedvirtual

Selects the embedded object indicated in the part parameter.

When the embedded object is selected, a selection box is drawn around the area. After an embedded object is selected, the user can perform operations on the embedded object: for example, moving, sizing, or copying the embedded object to the clipboard.

Definition at line 1149 of file olewindo.cpp.

References ocf::TOcPart::Activate(), DragPart, EvOcViewPartInvalid(), ocf::invView, and ocf::TOcPart::Select().

◆ SetupDC()

void ocf::TOleWindow::SetupDC ( owl::TDC & dc,
bool scale = true )
virtual

Determines the viewport's origin and extent (the logical coordinates and the size of the device context).

Sets up the device context (DC) before painting the embedded object. dc refers to the DC and scale indicates that the scaling factor to use when painting the embedded object is a ratio between the site and the embedded object.

Definition at line 2346 of file olewindo.cpp.

References owl::TDC::GetDeviceCaps(), GetLogPerUnit(), ocf::TOcScaleFactor::PartSize, Pos, Scale, owl::TDC::SetMapMode(), owl::TDC::SetViewportExt(), owl::TDC::SetViewportOrg(), owl::TDC::SetWindowExt(), owl::TDC::SetWindowOrg(), ocf::TOcScaleFactor::SiteSize, and owl::TRect::TopLeft().

◆ SetupWindow()

void ocf::TOleWindow::SetupWindow ( )
overrideprotectedvirtual

Establishes a connection between the TOcView object and the view's HWND so the view can send notification messages to the window.

Reimplemented from owl::TWindow.

Definition at line 286 of file olewindo.cpp.

References CHECK, CreateOcView(), IsRemote(), OcView, owl::TWindow::SetupWindow(), and ocf::TOcView::SetupWindow().

◆ ShowCursor()

bool ocf::TOleWindow::ShowCursor ( HWND wnd,
owl::uint hitTest,
owl::uint mouseMsg )
protectedvirtual

Handles the WM_NCHITTEST message, setting the cursor according to its position on the screen.

By default, the cursor is always an arrow. But by overriding the ShowCursor function, you can specify the conditions under which the cursor should change and to which bitmap it should change. HWND is the window containing the cursor, hitTest is a constant that represents the current position of the mouse (for a list of possible values, see the WM_NCHITTEST topic), and mouseMsg is a constant that represents the current mouse action, such as WM_MOUSEACTIVATE. For an example of an implementation of the ShowCursor function, see Step 17 of the OWL tutorial.

Definition at line 1048 of file olewindo.cpp.

References owl::TWindow::LoadCursor(), and owl::TWindow::SetCursor().

◆ StartDrag()

bool ocf::TOleWindow::StartDrag ( owl::uint modKeys,
owl::TPoint & point )
protectedvirtual

Member Data Documentation

◆ ContainerName

owl::tstring ocf::TOleWindow::ContainerName
protected

Holds the name of the container.

The server displays the container's name when an embedded object is being edited in the server's window (referred to as out-of-place editing).

Definition at line 348 of file olewindo.h.

◆ DragDC

owl::TDC* ocf::TOleWindow::DragDC
protected

Points to the device context used while an object is being dragged.

Definition at line 319 of file olewindo.h.

◆ DragHit

owl::TUIHandle::TWhere ocf::TOleWindow::DragHit
protected

Indicates the position in the embedded object where the user points and clicks the mouse.

This can be any one of the TUIHandle::TWhere enumerated values; for example, TopLeft, TopCenter, TopRight, MidLeft, MidCenter, MidRight, BottomLeft, BottomCenter, BottomRight, or Outside when no dragging is taking place.

Definition at line 316 of file olewindo.h.

◆ DragPart

TOcPart* ocf::TOleWindow::DragPart
protected

Points to the embedded object (the part) being dragged.

Definition at line 310 of file olewindo.h.

◆ DragPt

owl::TPoint ocf::TOleWindow::DragPt
protected

Indicates the point (in logical units) where the mouse is over the dragged object.

Definition at line 322 of file olewindo.h.

◆ DragRect

owl::TRect ocf::TOleWindow::DragRect
protected

Holds the rectangle being dragged.

Definition at line 325 of file olewindo.h.

◆ DragStart

owl::TPoint ocf::TOleWindow::DragStart
protected

Holds the point where the dragging of the embedded object began.

Definition at line 328 of file olewindo.h.

◆ MinHeight

int ocf::TOleWindow::MinHeight
protected

The minimum height of the part.

Definition at line 361 of file olewindo.h.

◆ MinWidth

int ocf::TOleWindow::MinWidth
protected

The minimum width of the part.

Definition at line 358 of file olewindo.h.

◆ OcApp

TOcApp* ocf::TOleWindow::OcApp
protected

Holds the ObjectComponents application associated with this TOleWindow.

Definition at line 344 of file olewindo.h.

◆ OcDoc

TOcDocument* ocf::TOleWindow::OcDoc
protected

Holds the ObjectComponents document associated with this TOleWindow.

Definition at line 338 of file olewindo.h.

◆ OcView

TOcView* ocf::TOleWindow::OcView
protected

Holds the ObjectComponents view or remote view (the server's) associated with the TOleWindow view.

Definition at line 341 of file olewindo.h.

◆ Pos

owl::TRect ocf::TOleWindow::Pos
protected

Holds the current area in the window where the object is embedded.

Pos reflects the area where the object is moved if you move the object.

Definition at line 335 of file olewindo.h.

◆ Remote

bool ocf::TOleWindow::Remote
protected

Returns true if the window represents an embedded server. Returns false otherwise.

Definition at line 351 of file olewindo.h.

◆ Scale

TOcScaleFactor ocf::TOleWindow::Scale
protected

Holds the current scaling factor. The server uses this information to determine how to scale the document.

Definition at line 331 of file olewindo.h.

◆ ShowObjects

bool ocf::TOleWindow::ShowObjects
protected

Is true if the embedded object's frame (the gray or shaded brushes around the object) is displayed.

The frame can be turned on or off depending on how you want the object to appear.

Definition at line 355 of file olewindo.h.


The documentation for this class was generated from the following files: