OWLNext    7.0
Borland's Object Windows Library for the modern age
Loading...
Searching...
No Matches
olemdifr.h
Go to the documentation of this file.
1//----------------------------------------------------------------------------
2// ObjectComponents
3// Copyright (c) 1994, 1996 by Borland International, All Rights Reserved
4//
5//----------------------------------------------------------------------------
6
7#if !defined(OCF_OLEMDIFR_H)
8#define OCF_OLEMDIFR_H
9
10#include <owl/private/defs.h>
11#if defined(BI_HAS_PRAGMA_ONCE)
12# pragma once
13#endif
14
15#include <ocf/oleframe.h>
16#include <owl/mdi.h>
17#include <memory>
18
19namespace ocf {
20
21// Generic definitions/compiler options (eg. alignment) preceding the
22// definition of classes
23#include <owl/preclass.h>
24
25//
26/// \class TOleMDIFrame
27// ~~~~~ ~~~~~~~~~~~~
28/// Decorated MDI frame that supports OLE 2 using OCF
29//
30/// Derived from TMDIFrame and TOleFrame, TOleMDIFrame provides OLE user-interface
31/// support for the main window of a Multiple Document Interface (MDI) application.
32/// TOleMDIFrame also talks directly to the ObjectComponents classes through the use
33/// of a pointer to the OcApp object.
34///
35/// TOleMDIFrame inherits functionality from TMDIFrame that supports the use of MDI
36/// frame windows designed to serve as the main windows of an MDI-compliant
37/// application. It also inherits decorated frame window functionality that supports
38/// the addition of decorations (such as toolbars and status lines) to the frame
39/// window. In addition, TOleMDIFrame inherits the ability to
40/// - Create space that the server has requested in a container's frame
41/// window
42/// - Merge the container's menu into the server's menu
43/// - Process accelerators and other messages from the server's message
44/// queue
45/// - Support OLE 2 menu merging for pop-up menus
46///
47/// TOleMDIFrame also inherits from TOleFrame the ability to talk directly to the
48/// ObjectComponents classes through the use of a pointer to the OcApp object.
49///
50/// See Step 14 of the ObjectWindows tutorial for an example of a program that uses
51/// TOleMDIFrame to create an OLE-enabled decorated MDI frame window.
53 public:
54
56 LPCTSTR title,
57 owl::TResId menuResId,
58 std::unique_ptr<owl::TMDIClient> clientWnd = nullptr,
59 bool trackMenuSelection = false,
60 owl::TModule* = nullptr);
61
63 const owl::tstring& title,
64 owl::TResId menuResId,
65 std::unique_ptr<owl::TMDIClient> clientWnd = nullptr,
66 bool trackMenuSelection = false,
67 owl::TModule* = nullptr);
68
69#if defined(OWL5_COMPAT)
70
71 TOleMDIFrame(LPCTSTR title,
72 owl::TResId menuResId,
73 owl::TMDIClient& clientWnd,
74 bool trackMenuSelection = false,
75 owl::TModule* module = 0);
76
77#endif
78
80
81 protected:
82 virtual owl::TResult DefWindowProc(owl::TMsgId message, owl::TParam1, owl::TParam2);
83 bool EvOcAppInsMenus(TOcMenuDescr & sharedMenu);
84 void EvActivateApp(bool active, DWORD threadId);
85
87};
88
89// Generic definitions/compiler options (eg. alignment) following the
90// definition of classes
91#include <owl/posclass.h>
92
94
95
96} // OCF namespace
97
98
99#endif // OWL_OLEMDIFR_H
Decorated frame that supports OLE 2 using OCF.
Definition oleframe.h:65
Decorated MDI frame that supports OLE 2 using OCF.
Definition olemdifr.h:52
DECLARE_RESPONSE_TABLE(TOleMDIFrame)
Multiple Document Interface (MDI) client windows (represented by a TMDIClient object) manage the MDI ...
Definition mdi.h:37
Multiple Document Interface (MDI) frame windows, represented by TMDIFrame, are overlapped windows tha...
Definition mdi.h:122
ObjectWindows dynamic-link libraries (DLLs) construct an instance of TModule, which acts as an object...
Definition module.h:75
Definition of TMDIClient and TMDIFrame classes.
Object Component Framework (COM encapsulation)
Definition appdesc.h:22
TOleMDIFrame TOleMdiFrame
Definition olemdifr.h:93
UINT TMsgId
Message ID type.
Definition dispatch.h:53
LPARAM TParam2
Second parameter type.
Definition dispatch.h:55
WPARAM TParam1
First parameter type.
Definition dispatch.h:54
LRESULT TResult
Result type.
Definition dispatch.h:52
std::string tstring
Definition defs.h:79
#define _OCFCLASS
Definition defs.h:45