Going beyond the object model
Some programmers think that Visio is present just to provide a graphical canvas with the symbols and lines that they need to manipulate or interrogate. Perhaps they have been used to draw items in Windows Forms applications or even XAML-based development with WPF (Windows Presentation Foundation), Silverlight, or Windows 8 applications. To think like this is to misunderstand Visio, because it has a rich-diagramming engine, coupled with the ability to encapsulate data and custom behaviors in every element, not to mention the inheritance between certain types of objects. This has resulted in a fairly complex structure in parts of the object model, so that all of the desired functionality can be described fully.
Programmers who look at the Visio object model for the first time may be full of preconceptions and look in vain for the X
and Y
coordinate of a shape on a page. They are surprised and a little frustrated that the X
coordinate of a shape on a page is:
shape...