External Interfaces/API | ![]() ![]() |
MATLAB ActiveX Support Overview
MATLAB supports two ActiveX technologies: ActiveX control containment and ActiveX Automation. ActiveX controls are application components that can be both visually and programmatically integrated into an ActiveX control container, such as MATLAB figure windows. Some examples of useful ActiveX controls are the Microsoft Internet Explorer Web Browser control, the Microsoft Windows Communications control for serial port access, and the graphical user interface controls delivered with the Visual Basic development environment.
ActiveX Automation allows MATLAB to both control and be controlled by other ActiveX components. When MATLAB is controlled by another component, it is acting as an automation server. When MATLAB controls another component, MATLAB is the automation client, and the other component is the automation server.
MATLAB automation server capabilities include the ability to execute commands in the MATLAB workspace, and to get and put matrices directly from and into the workspace. MATLAB automation client capabilities allow MATLAB, through M-code, to programmatically instantiate and manipulate automation servers. The MATLAB automation client capabilities are a subset of the MATLAB control containment support, since you use the automation client capabilities to manipulate controls as well as automation servers. In other words, all ActiveX controls are ActiveX automation servers, but not all automation servers are necessarily controls.
In general, servers that are not controls will not be physically or visually embedded in the client application. (MATLAB is a good example -- MATLAB is not itself a control, but it is a server. So, MATLAB cannot be physically embedded within another client. However, since MATLAB is a control container, other ActiveX controls can be embedded within MATLAB.)
In addition, MATLAB ships with a very simple sample ActiveX control that draws a circle on the screen and displays some text. This allows MATLAB users to try out MATLAB's ActiveX control support with a known control. For more information, see MATLAB Sample Control.
![]() | ActiveX and DDE Support | MATLAB ActiveX Client Support | ![]() |