General XMetaL Discussion

  • nferguson

    XFT Resizing

    Participants 0
    Replies 1
    Last Activity 12 years, 5 months ago

    Unless I am missing something, XFTs have allowed a “Resizing” BorderStyle for years, yet the OnUpdateResize event is “Not implemented”.  For that matter JustSystems, Blast Radius, Corel, SoftQuad, etc. have [u]all[/u] provided sample and production XFTs for years with BorderStyle set to “Resizing” (it's even the default), yet none of the XFTs fielded by the “experts” actually support scaling/moving controls as the form is resized!  What's up with that?  After all these years, you would think that someone would have figured it out…  I looked into using the OnMouseMove event as a workaround, but apparently the Button argument to OnMouseMove is not being set properly.  Yikes!

    Apologies for the flippant nature of this topic, but this is a battle I have been fighting with for years (literally) and, this time around, I struggle to come up with a viable solution.  I am working on a dialog that can conceivably have ListBox entries where the width is highly variable.  Unfortunately, the ListBox HorizontalScroll property in 4.6 seems to do nothing at design [u]or[/u] run time.  Naturally, resizing would could be a viable alternative, but apparently that “barrier” has yet to be tackled by the latest-and-greatest vendor.  If the situation has changed in the XMetaL 5.x world, please feel free to enlighten me — I will gladly push our customer toward a 5.x release to get rid of this headache!

    Any and all insights, wisdom, solutions, responsive rants, etc. are sincerely appreciated!


    Derek Read

    Reply to: XFT Resizing

    You haven't described the type of form you are creating so this might not apply. Keep in mind that we're at version 6.0 now and although I don't think we've got what you are asking for, I do believe you can probably accomplish what you need (what I'm guessing you need). Most of our DITA forms use the method I describe below and it works quite nicely.

    I think XFT could be better (things can always be made better) but we haven't had a lot of complaints so not a lot has been done in recent years.

    What we use in most of our dialogs are the XFT FlexHorizontal and FlexVertical properties. I'm attaching an example created with XMetaL 3.1 that shows the technique (so you should be able to open it with a later release). See:

    Two screenshots are provided as well that show the form when it first opens and after it has been stretched.

    Also keep in mind that some of the older form examples (Journalist, Meeting Minutes) have not been updated (and might never be) as there is so much to try to demo in the product. For example, with 6.0 we could have demonstrated our XInclude support in the Journalist DTDs. Instead we've decided to demonstrate that support in a real-world DTD (DocBook) as it already defines XInclude.

    Perhaps you have a need for something that cannot be resolved using this technique? If so, please submit some specific examples to XMetaL Support so they have something to back up any feature requests they make. We've added many many features over the years (the API count alone is approaching 1200 for example) and the vast majority of them are driven by client demand. It is better that you describe what you need to accomplish rather than the feature you think you need because it will always be possible to provide the same end results using different programming techniques.

    Also, keep in mind that you are free to use any control available on the system in an XFT form provided it is a standard Windows embeddable ActiveX control. Microsoft includes many in a default Windows install (so you don't need to install or register them) and we have clients and partners that create their own controls to fit their exact needs and use those.

    Note that there are likely many other features you (or your client) are missing out on that we've introduced with 5.0, 5.1, 5.5 and 6.0 that you might take advantage of as well.


  • You must be logged in to reply to this topic.

Lost Your Password?