Model for Hosting RDO Data Controls in a Container
A container hosts an RDO data-source control as follows
-
The container obtains an IVBDSC interface from the data-source control. If it cannot find IVBDSC, then it is not a data-source control.
-
The container obtains the ICursor interfaces from the data-source control. These interfaces supply a Cursor object that can be manipulated by a client.
-
The container hooks up to the data-source control's INotifyDBEvents interface. This interface allows the container to receive notifications from the data-source control. The container should support the INotifyDBEventsSink interface in order to do this.
A container hosts an RDO data-bound control as follows
-
The control supports the IBoundObject interface and the container supports the IBoundObjectSite interface. The control obtains the container's IBoundObjectSite interface, and the container obtains the IBoundObject interface from the control.
-
The control supports the IPropNotifySink interface, and hooks up with the container. This allows the container to receive notifications from the control.
-
If the control supports INotifyDBEventsSink, it can receive notifications from an RDO data-source control after connecting with the data-source control's INotifyDBEvents interface.
-
The control then can receive cursor objects from the data-source control (directly or through the container). The cursors can then be manipulated and scrolled. At this point, the RDO data-bound control is successfully bound.
Back to Using RDO Databinding in Visual C++.