I know the plug-ins and ActiveX controls for DesktopX were intended to make certain tasks much easier. Such as the DXPlayer plug in can make it easy to create a very simple control that will work with any of several different applications.
But, and I speak only from my own experience as an experimenter in skinning, the Plug-Ins and to a lesser extent the ActiveX controls are, well, crap.
For example, the DXPlayer plug-in. This is a neat idea. Most media player apps have a way you can control them from scripts or something similar. But the exact message I send to WMP to "Start Play" (Control.controls.play in dx speak) will differ slightly from the way I would tell WinAmp or iTunes to "Start Play" The DXPlayer plug in is intended for one to be able to make a play button, and that button will work no matter what app the end user uses.
But. What about more complex functions? Managing playlists, and particularly visualization or video "screens". Here the media players not only expect their own personal syntaxes, but they have differing functionality.
And here, DXPlayer drops the ball. It is unfinished. You cannot create a generic playlist display or visual/video window with DXPlayer. You can, though, through experimenting and trying things out, access some stuff, like a WMP visualization, but at this time that's all you can do. Turn it on, I think. Can't move it, resize, associate it with other objects. It's unfinished.
(I should point out here, that if you DON'T use DXPlayer, and program only for the application you want, you can use DX to do anything that app lets you do. SO I have WMP-based widgets with fully functional playlists and vis screens - but they work only with WMP, not WinAMp or iTunes)
And, not to rant, but some of the ActiveX controls seem unfinished too. No inherent backspace or delete key functionality in some of them, and buggy, or perhaps again simply left undone, styling controls.
Also, these functions, except for brief descriptions in one or another guide (I'd give a link but it is out of date...maybe someone has a link to latest documentation?) are, apparently, undocumented. (Not to mention the still un-fixed no matter what they say catastrophic crashing).
So, my advice, from someone who likes DX very much, is to avoid the Plug-Ins at all costs, and use the ActiveX controls sparingly in a well backed up project.
Parents, groups, and children can certainly be confusing --it isn't helped by what I consider poor terminology (Okay, this object has a "parent", but I still need to decide whether or not it is a "child"?).
Groups can be treated as one for many purposes, so you can move them with the mouse "as a group" etc. I use groups personally for two main resons. One is simply to help me keep objects organized. Another is when I may want to enumerate certain objects. I can (exact code sample is in scripting doc) say, for each member of this group, alter your color..you get the idea.
You can also do a For Each type enumeration of children. This is where the lingo makes this very difficult. When I say "children" I mean objects with parents. You can pick a parent, and do things to every child. They will also move relative to each other, if the parent is dragged, I think, but not if child is dragged. And I don't mean child. I mean the object with a parent.
Because being a "child" is more than having a parent. It also means that the child will be relativly positioned in X,Y coords to its parent object, and also clipped by the boundries of parent object. When I am working this through myself, I think of the Is Child option as actually meaning "Is Contained" or such.
Anyway. On too long, little help. Overall a discouraging post, sorry for that. DX is a good app. But I feel it is underdocumented and much of the functionality would have been better left out. I mean, it really is a bait and switch to sell the app showing how easy it is to "make a media player widget", and then the consumer gets it home to find out how limited that function really is.
Better shut up now.
later,
rr