Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

'Standard' form as MDI?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 'Standard' form as MDI?

    Hi folks,

    Having delved into the MDI-examples in the 'learning xDialog tutorial', I have now adapted a dockable panel to host a toolbar menu (xDialog) which looks and works nicely.

    BUT: when opening a standard desktop form from this docking panel, the form does not open next to the docking panel, but next to the left screen edge underneath the docking panel. :(

    From the example using customer's data to display in an mdi child window, I now gather that Selwyn does not use standard forms but xDialogs which are 'bound' to the table's data via code. Besides to have to set up this you also have to set up each and every label, buttons et al.

    This does not in any way pass criticism on xDialog or xBasic which I both use quite often (they are tremendously capable tools when it comes to fine tuning of built in functionality) and learning them can be of great benefit. But to have to code each and every form as an xDialog just to get a nicely aligning MDI layout seems a bit tedious to me.

    Do I miss something here or is it indeed so that you can not use standard forms as MDI child windows (which would surprise me a bit)? Or is there an easier work around to get an MDI setup with forms?

    Many thanks for your thoughts!
    SwissCharles
    Between the Alps and a comfy place

  • #2
    Re: 'Standard' form as MDI child?

    Any takers?

    Is there really no possibility to open a 'standard' form as an mdi child form from a user defined dock panel?

    What I would like to do is to use dock panels as an apps main menue, where I can put menu choices into a dock panel and open forms in the child area. See attached image.

    Do I miss something here, or is it really not possible to attain this functionality? How are you guys and gals doing this??

    Thanks for your thoughts!
    SwissCharles
    Between the Alps and a comfy place

    Comment


    • #3
      Re: 'Standard' form as MDI child?

      If you want to position your forms exactly, here is how I do it:

      vWindowTitle = :A5.window_title

      SYS_ID_RESTORE(vWindowTitle)
      SYS_ID_MOVE(vWindowTitle,4,4)
      SYS_ID_RESIZE(vWindowTitle,4,5)
      Peter
      AlphaBase Solutions, LLC

      Peter@AlphaBaseSolutions.com
      https://www.alphabasesolutions.com


      Comment


      • #4
        Re: 'Standard' form as MDI?

        Peter,

        Thank you for your guidance on exactly positioning a standard Alpha Five form.

        I, like Charles, was somewhat incredulous that Selwyn's example used a dockable panel with forms that were completely defined using XDialog. As I noted earlier, this strikes me as infinitely more work that the drag and drop controls possible with standard A5 forms. Looks like Charles has come to a similar conclusion.

        But as a followup question: How do you change the location of the A5 standard form if the user widens the width of the dockable panel?

        Any serious application must be able to do this. Selwyn's XDialog example allows the dockable panel to be widened, and the "main" form simply is repositioned to the left side of the dockable panel. The "main" form is dynamically repositioned, and the dockable panel does not overwrite the "main form".

        How do you accomplish the same result with a desktop form? Do you somehow assess the width of the dockable panel then set the left coordinates of the desktop form to this value. Or is there a better way to do this.

        Thanks,
        Bob McGaffic
        Pittsburgh, PA

        PS: This desired behavior emulates what a commercially available splitter control does. I've done this so simply on an Microsoft Access form by placing a splitter bar between two areas of the screen, and when the form is executed, dragging the splitter bar can enlarge the left area of the screen and reduce the right area of the screen. Unfortunately, I have been unable to find even one ActiveX splitter control that works with Alpha Five.

        Comment


        • #5
          Re: 'Standard' form as MDI?

          Originally posted by rmcgaffic View Post
          How do you accomplish the same result with a desktop form? Do you somehow assess the width of the dockable panel then set the left coordinates of the desktop form to this value. Or is there a better way to do this.
          Hi Bob,

          I seem to remember there is an example in the xdialog samples that come w. A5 showing you how to get the xdialog coordinates. Then as you say, you would have to dynamically apply the difference.
          Peter
          AlphaBase Solutions, LLC

          Peter@AlphaBaseSolutions.com
          https://www.alphabasesolutions.com


          Comment


          • #6
            Re: 'Standard' form as MDI?

            Peter, Bob, Thanks for your input!

            This sure sounds like an awful lot of trouble getting this to work.

            On top of it - if I am not getting this wrong:
            Forms launched from a dock panel will always open in a new window and not be part of a context set in the xDialog.

            Idea: Defining a form as a dialog sans system buttons and window title bar, one could probably kind of "mimick" an mdi interface?

            Thanks for any further input on this!
            SwissCharles
            Between the Alps and a comfy place

            Comment


            • #7
              Re: 'Standard' form as MDI?

              Originally posted by SwissCharles View Post
              Idea: Defining a form as a dialog sans system buttons and window title bar, one could probably kind of "mimick" an mdi interface?
              Attached is an image of a floating dialog - minus the A5 shell. It's doable but building an entire app around it would be tricky since all your forms will need to be dialogs, each free floating as it were. You could hide or close dialogs so only one shows at a time, of course. Doable, but tricky.
              Peter
              AlphaBase Solutions, LLC

              Peter@AlphaBaseSolutions.com
              https://www.alphabasesolutions.com


              Comment


              • #8
                Re: 'Standard' form as MDI?

                Charles,

                Sadly, I think you are right.

                Which brings us somewhat full circle to well using Alpha Five desktop forms with a menu structure.

                After devoting way more time than I would like to admit playing around with this, I think the best desktop form developers can accomplish is to place the menu on a separate form and from there launch individual forms selected from that menu. Clicking on a menu selection results in the menu form being hidden and the selected form displayed. The tabs for both a clearly visible in the tabs at the bottom of the screen and the user and quickly switch back to the menu to open another form if desired.

                Selwyn has shown that if you are sufficiently hard-core, you can hard code all your forms and use a dockable panel as you wish. This may be a fine approach for developing a tool like Alpha Five, but it very much belies the "easy-to-use" mantra of Alpha of yester year.

                Jeff Kletrovets posted an alternative on the board with the last several weeks. He created a XDialog menu and then embedded it on each and every form in his application, taking care to position its X,Y coordinates and size the same on each form.
                While this works, in my mind it presents all kinds of long range maintenance issues.

                Another approach would be to create a desktop menu form where the menu tree is on the left side of the form, and then a subform is placed to its right. Microsoft Access makes this very easy to do, but unfortunately Alpha Five can handle this easily without creating all kinds of "dummy" sets. Again, not very elegant.

                Bob McGaffic
                Pittsburgh, PA

                Comment


                • #9
                  Re: 'Standard' form as MDI?

                  Peter, Bob, Thanks again for your thoughts!

                  For now, I think it's best to follow Bob's recommendation by
                  "...placing the menu on a separate form and from there launch individual forms selected from that menu..."
                  It's a pity, as such a dockable panel - combined with regular forms - would be waayyy cool

                  Not holding my breath, I will make a suggestion over at the feature request forum. One never knows :)
                  SwissCharles
                  Between the Alps and a comfy place

                  Comment


                  • #10
                    Re: 'Standard' form as MDI?

                    Still trying to get a conversation going here on dock panels. I found the Toolbox style XD which looks as close to getting the genie to set up a dock panel as I have found. And Selwyn mentioned that a dock panel can be used like a modeless XD toolbar, so converting it and docking it on the left should work the same as it does with the Toolbox to make a menu with animation.

                    Surely somebody by now has a simple working example they would like to share...?

                    Pretty please!
                    Robin

                    Discernment is not needed in things that differ, but in those things that appear to be the same. - Miles Sanford

                    Comment

                    Working...
                    X