141# pragma warning(push)
142# pragma warning(disable: 4838)
228 pIExtended(0), pEvents(
pEv), EventList(0)
242 pEvents(0), EventList(0)
362 ITypeInfo*
pRet =
nullptr;
467 (
sym->DispId == -1 ||
sym->DispId == 0) &&
469 pS->Class->GetArgCount(*
sym) ==
pFD->cParams) {
623 (
view->GetActivePart() !=
this))
718 (
VOID*)
this, ClassInfo.GetTypeInfo(),
719 (
VOID*)
this, ClassInfo.GetTypeInfo(),
1075 :pCtrl(0), pIEvents(0)
1159 bool* CancelDisplay)
1166 HelpContext, *CancelDisplay);
1292 return OcInvokeProc(
libraryName,
"DllRegisterServer");
1324 hr = OcInvokeProc(
ocxPath,
"DllUnregisterServer");
OLE Automation Class Definitions.
Automation Symbol Table, Command, and Proxy Macro Definitions.
#define END_AUTOCLASS(cls, flags, name, doc, help)
#define EXPOSE_METHOD_ID(id, cmd, cls, name, doc, help)
#define EXPOSE_PROPRW_ID(id, cmd, cls, name, doc, help)
#define EXPOSE_PROPRO_ID(id, cmd, cls, name, doc, help)
#define REQUIRED_ARG(cls, name)
#define DEFINE_AUTOCLASS(cls)
#define EXPOSE_DELEGATE(cls, name, locator)
#define PRECONDITION(condition)
virtual HRESULT _IFUNC GetEventTypeInfo(ITypeInfo **ppTypeInfo)=0
virtual HRESULT _IFUNC GetCtrlDispatch(IDispatch **ppDispatch)=0
virtual HRESULT _IFUNC SetAmbientDispatch(IDispatch *)=0
virtual HRESULT _IFUNC SetEventDispatch(IDispatch *)=0
virtual HRESULT _IFUNC GetEventIID(IID *iidEvent)=0
virtual HRESULT _IFUNC Init(IBSite *, TOcInitInfo *)=0
IBSite – Supported by container apps for each linked/embedded object.
Automation argument stack abstraction.
Based on reference counted TString with added automation functionality.
void Init(int index, ITypeInfo *typeInfo)
TEventEntry & operator[](int index)
owl::uint GetCount() const
TEventList(ITypeInfo *typeInfo)
HRESULT BOleComponentCreate(IUnknown **retIface, IUnknown *outer, owl::uint32 idClass)
Create a BOle helper for one of our OC objects in this app.
TOcRegistrar & GetRegistrar()
OC Control Event class for standard control events.
long MouseUp(short Button, short Shift, long X, long Y)
long MouseDown(short Button, short Shift, long X, long Y)
HRESULT CustomEvent(long *args)
long KeyUp(short *KeyCode, short Shift)
long ErrorEvent(short number, TAutoString Description, SCODE SCode, TAutoString Source, TAutoString HelpFile, long helpContext, bool *CancelDisplay)
TUnknown * CreateAutoObject(const void *obj, TAutoClass &clsInfo)
HRESULT ForwardClickEvent(owl::uint msg, DISPID id)
long KeyDown(short *KeyCode, short Shift)
HRESULT ForwardKeyEvent(owl::uint msg, DISPID id, short *KeyCode, short Shift)
virtual void InitEventDispatch()
HRESULT ForwardMouseEvent(owl::uint msg, DISPID id, short Button, short Shift, long X, long Y)
long MouseMove(short Button, short Shift, long X, long Y)
Class representing an embedded control within a document.
TOcControlEvent * pEvents
TEventList * GetEventList() const
owl::TString & GetUserName()
bool Init(TOcInitInfo *initInfo, owl::TRect pos)
HRESULT QueryObject(const IID &iid, void **iface)
Callback from TUnknown's implementation of QueryInterface.
HRESULT _IFUNC TransformCoords(owl::TPointL *lpptlHimetric, owl::TPointF *lpptfContainer, DWORD flags)
bool InitObj(TOcInitInfo *initInfo)
Perform common ctor initialization.
TServedObject * pIExtended
bool FillEventList()
Retrieves a list of events generated by this control.
ITypeInfo * GetEventTypeInfo()
Retrieves the ITypeInfo the 'default source' event object of this control.
HRESULT _IFUNC OnPropertyRequestEdit(DISPID dispid)
IDispatch * GetCtlDispatch()
Retrieves the primary IDispatch of the control.
HRESULT _IFUNC OnPropertyChanged(DISPID dispid)
IDispatch * GetParent()
Retrieves the extended IDispatch (exposing extended properties)
TOcView * GetActiveControlView()
IBControl * GetBControlI()
void SetUserName(owl::TString &name)
Extended property support.
HRESULT _IFUNC OnControlFocus(BOOL fGotFocus)
Event support.
TOcControl(TOcDocument &document, int id=0, TOcControlEvent *pEv=nullptr)
Construct a new part with a given temp id.
TUnknown * CreateAutoObject(const void *obj, TAutoClass &clsInfo)
void SetHeight(long Value)
void SetWidth(long Value)
OC Document class, holds parts & is a owner of views.
TOcPartCollection & GetParts()
TOcView * GetActiveView()
OC part class represents an embeded or linked part in a document.
virtual bool Init(TOcInitInfo *initInfo, owl::TRect pos)
Perform common ctor initialization.
void UpdateRect()
Set part to the new rect given in logical units.
TOcDocument & OcDocument
The OC document we are imbeded in.
owl::uint16 Flags
Is this part Selected/Visible/Active/ALink?
TOcStorage * Storage
The storage we are in.
virtual bool InitObj(TOcInitInfo *initInfo)
HRESULT QueryObject(const IID &iid, void **iface)
Callback from TUnknown's implementation of QueryInterface.
IUnknown * BPart
Our corresponding helper object & interfaces.
void SetPos(const owl::TPoint &pos)
Set part to the new position given in logical units.
void SetSize(const owl::TSize &size)
Set part to the new size given in logical units.
void Rename()
Rename the embed site for linking.
HRESULT _IFUNC QueryInterface(const GUID &iid, void **iface)
The TOcView partner is a container (viewer) of a given (server/client) document.
TOcDocument & OcDocument
Our OC document object.
HRESULT QueryObject(const IID &iid, void **iface)
Callback from TUnknown's implementation of QueryInterface.
TOcApp & OcApp
Our OC application object.
owl::TResult ForwardEvent(int eventId, const void *param)
The TOcxView partner is a container (viewer) of a given (server/client) document.
void SetAmbUserMode(bool Mode)
HRESULT QueryObject(const IID &iid, void **iface)
void SetUserMode(bool Mode)
void SetAmbDisplayName(owl::TString &Name)
TOcxView(TOcDocument &doc, owl::TRegList *regList=0, IUnknown *outer=0)
TOcxView Class Implementation.
long GetAmbientValue(long AmbientMsg, long Default)
void SetAmbTextAlign(short Align)
void SetAmbMessageReflect(bool MsgRef)
void SetDisplayAsDefault(bool Disp)
void SetMessageReflect(bool MsgRef)
void SetScaleUnits(owl::TString &ScaleUnits)
void SetAmbShowGrabHandles(bool Handles)
bool GetShowGrabHandles()
bool GetSupportsMnemonics()
void SetBackColor(long Color)
void SetAmbForeColor(long Color)
TServedObject * pIAmbients
void SetAmbFont(IDispatch *pFontDisp)
void AmbientChanged(DISPID dispid)
void SetShowGrabHandles(bool Handles)
void SetLocaleID(long LocaleId)
owl::TString & GetDisplayName()
void SetAmbShowHatching(bool Hatch)
void SetAmbSupportsMnemonics(bool Mnem)
void SetAmbLocaleID(long LocaleId)
void SetAmbUIDead(bool Dead)
void SetAmbScaleUnits(owl::TString &ScaleUnits)
void SetAmbBackColor(long Color)
void SetSupportsMnemonics(bool Mnem)
owl::TString & GetScaleUnits()
void SetDisplayName(owl::TString &Name)
void SetFont(IDispatch *pFontDisp)
void SetAmbDisplayAsDefault(bool Disp)
bool GetDisplayAsDefault()
owl::TString * pBlankString
void SetTextAlign(short Align)
void SetShowHatching(bool Hatch)
void SetForeColor(long Color)
void SetUIDead(bool Dead)
TAppDescriptor & GetAppDescriptor()
OLE object exposed for automated access of internal object.
owl::ulong _IFUNC AddRef()
HRESULT QueryObject(const IID &iid, void **iface)
owl::ulong _IFUNC Release()
Standard implementation of a controlling IUnknown for an object, to be inherited with other COM inter...
static void Check(HRESULT stat, TError err, LPCTSTR msg=0)
TPointF is similar to TPoint, but uses floating variables rather than integers.
TPoint is a support class, derived from tagPOINT.
TPointL is similar to TPoint, but uses long rather than int variables.
Iterator for Pointer Container.
TRect is a mathematical class derived from tagRect.
static auto GetClassesRoot() -> TRegKey &
Special predefined root key used by shell and OLE applications (HKEY_CLASSES_ROOT).
A registration parameter table, composed of a list of TRegItems.
The tagSIZE struct is defined as.
Reference to reference counted string object TUString Lightweight reference object consisting of a po...
Include for OC, gets common headers when precompiled headers are enabled.
Object Component Framework (COM encapsulation)
const owl::uint16 tfNormal
bool HRSucceeded(HRESULT hr)
@ asAnyCommand
any command: method, property get/set, build
HRESULT OcRegisterControl(TCHAR *ocxPath)
HRESULT(PASCAL * REGPROC)()
const BCID cidBOleControl
HRESULT OcUnregisterControl(CLSID ClassId)
Object Windows Library (OWLNext Core)
Definition of TOcApp application connection class.
#define MAP_LOGHIM_TO_PIX(hiMetric, pixelsPerInch)
#define MAP_PIX_TO_LOGHIM(pixel, pixelsPerInch)
Definition of TOcControl class - Proxy object representing a control in.
Definition of TOcDocument Class.
Definition of TOcStorage & TOcStream classes.
Definition of Compound Document TOcView Class.
#define OC_AMBIENT_GETLOCALEID
#define OC_AMBIENT_GETFONT
#define OC_AMBIENT_GETBACKCOLOR
#define OC_AMBIENT_SETBACKCOLOR
#define OC_AMBIENT_SETFONT
#define OC_AMBIENT_SETSUPPORTSMNEMONICS
#define OC_AMBIENT_SETFORECOLOR
#define OC_AMBIENT_SETUSERMODE
#define OC_CTRLEVENT_DBLCLICK
#define OC_CTRLEVENT_MOUSEDOWN
#define OC_AMBIENT_SETSHOWHATCHING
#define OC_AMBIENT_GETUIDEAD
#define OC_CTRLEVENT_PROPERTYREQUESTEDIT
#define OC_AMBIENT_SETDISPLAYNAME
#define OC_AMBIENT_SETMESSAGEREFLECT
#define OC_AMBIENT_GETTEXTALIGN
#define OC_AMBIENT_SETSCALEUNITS
#define OC_CTRLEVENT_FOCUS
#define OC_AMBIENT_SETDISPLAYASDEFAULT
#define OC_AMBIENT_SETSHOWGRABHANDLES
#define OC_AMBIENT_GETSHOWHATCHING
#define OC_AMBIENT_GETSHOWGRABHANDLES
#define OC_CTRLEVENT_MOUSEMOVE
#define OC_AMBIENT_SETLOCALEID
#define OC_AMBIENT_SETUIDEAD
#define OC_AMBIENT_GETMESSAGEREFLECT
#define OC_AMBIENT_GETUSERMODE
#define OC_CTRLEVENT_KEYDOWN
#define OC_CTRLEVENT_MOUSEUP
#define OC_CTRLEVENT_CLICK
#define OC_AMBIENT_SETTEXTALIGN
#define OC_AMBIENT_GETDISPLAYNAME
#define OC_CTRLEVENT_KEYUP
#define OC_AMBIENT_GETDISPLAYASDEFAULT
#define OC_CTRLEVENT_CUSTOMEVENT
#define OC_VIEWTRANSFORMCOORDS
#define OC_AMBIENT_GETSCALEUNITS
#define OC_AMBIENT_GETSUPPORTSMNEMONICS
#define OC_CTRLEVENT_PROPERTYCHANGE
#define OC_AMBIENT_GETFORECOLOR
#define OC_CTRLEVENT_ERROREVENT
Base struct for all control event messages.