Tangram
Composite with software
Tangram is English corresponding to Chinese "Jigsaw Putter", which is probably foreigner to think that "jigsaw puzzle" is the wise game of Tang Dynasty people, and overseas Tang Dynasty symbolizes China. "Qigsaw Patent" shows obvious simple structural ideas, with 7 elements as base, and you can make what you can make. When you first develop Tangram, what is the name of this system, quite a brain, a good idea must have a match. The idea of the jigsaw puzzle is to give a software system a full "basis", on this "base", allow you to construct the rules. The combination of software features is a very interesting question. First, you must provide the basis for combined constructs. Second, you must formulate a combination of rules, and then you must give scheduling and interactive schemes between member elements participating in combination.
The HTML model is a very interesting example. By providing a set of controls, you can construct a colorful page. The earliest I will implement the HTML model with MFC, ATL and other frames by driving the HTML. The typical approach is Design a IDispatch object iptdisp, this object can access your object model, then find ways to bind this object with the HTML model, the MSHTML library provides this mechanism. With the above processing, you can call your object instruction system in your HTML page, a typical example is the implementation of the Visual Studio .NET (Wizard). Although the HTML directive can be expanded, it is not a good choice. I eventually treated HTML as a member of "Base", because HTML's expression is still insufficient, because after all, these things Not a program or unlike a program. When using Delphi early, a class of Frame objects have a good impression on me, from the form, a cframewnd and delphi's frame is very like, but not. In general, Delphi's object is compiled, that is, (most) the object of Delphi and other systems can be used after compiling, so selecting the feasibility of Delphi to Tangram main structure is excluded (in fact Delphi The same feasible because Delphi supports RTTI). When constructing Tangram, you want to support the Frame object to support Delphi (now the TangRam system that can support Delphi / BCB ActiveForm). The final selected MFC as the bottom floor foundation of Tangram is because MFC is better supporting RTTI (runtime information), and MFC has a flexible storage mechanism (MFC's storage mechanism but is not strong!).
Let us look at a more complex Frame form:
(A synthetic Frame window)
The above form is synthesized by a .NET Control, two Userform, and an MFC View, which is composed of two splitter and an Excel style TabWnd. Software combination system: First complete the Frame frame, and then "install" the above object (one .NET Control, two Userform, and a MFC View) "Install", the pattern of the architecture may have multiple, if a program does not have a built-in design engine, The programmer has worked hard, and the user's custom capacity is greatly limited. Tangram design goals are to ensure that all of this can be "visualized"! And it is fully professional. In general, HTML does not meet the requirements of the programmer, and the programmer can not or is difficult to have HTML flexibility. In this regard, Tangram gives a folded program: HTML design, editing, and has The visual interface of the program interface. Traditional procedures, due to most objects that are operated in the program, and designs can be greatly limited, and Tangram is based on providing a wide enough "software object base" that makes designs become fact, if MFC VIEW, ACTIVEX CTRL / ActiveX Document, .NET Control, HTML, Flash, etc. Elements are atomic components in a super "jigsaw", waiting for you will be a huge, colorful object world, master tangram, you will Controlled Microsoft's Component World, you have unlimited connection capabilities ... (Built-in VBA FORM object)
(Secondary development)
(Form design)