5. Juli 2009 

  • deutschsprachige Leser
  • The TechTip 75817 Simulating Sub-Pages on Multi-Page Forms creates more questions than it seems to answer. Instead of explaining again and again on the phone or via Screensharing I'll use this page. Yes, it even works with Windows, no not screensharing but the simulation :-)

    Userinterfaces try to omit a wealth of windows, and paletts, and toolbars and fit mostly into a single window nowadays. A very well done single-window application is iTunes. Windows-users prefer a single window anyway, besides the plural s.

    Inherited forms, available since version 6, didn't take off as a interface-tool. There are a couple of restrictions (the text is in german but the graphics tell the story). Multipage-forms did take off. We knew those from publishing, where page 0 or the masterpage takes the elements, that are needed on every other page. So that enhancement to 4D Version 6 was very welcome.

    Those who packed too many pages into one form, hit the performance-barrier. Who wonders? But then some PlugIns are not well suited for multipage forms. Think of WebArea from WebPack or the native one in V11. The redraw is unpleasant, scrollbars look through, or blink while on load or are a hinderance in some way or the other.

    The TechTip Simulating Sub-Pages on Multi-Page Forms guides a way out of that dilemma. It would have been well worth a TechNote, as a means of TechTip it's too big a theme.

    Well, it's too darn hot outside anyway. So I wrote this page down and included a example database (4D 2004 or better).



    The preferences of many MacOSX-apps established a row of options across the top to group things together. Below that follow the details, complex in itself looking like multipage. Select one and the size changes as the layout itself except for the very top. Reinventing this with multipage-forms might develop into a programmers nightmare, if using many pages and MOVE OBJECT and/or SET VISIBLE heavily.

    Looking for something more simple, the mentioned TechNote suggests many forms instead. I've written sample-database for better explaining and learning by watching.


    The concept

    There are three parts: top-navigation, secondary-navigation at the left or sub-top and the main content-area.

    1. top-navigation
    2. is an inherited form. Method MultiPage_Mngr as the main method handles that and switches the real forms.
      Every form calls its own manager-method: Anwendung_Mngr, Dokumentation_Mngr and Sicherheit_Mngr respectively.
    3. secondary-navigation
    4. is located on page 0 of every real form that look like subforms.
    5. content-area
    6. displays the elements of every page of the multipage-form

    For a better understanding watch the movie.

    Did you find out, when there was a page-switch and when the form got exchanged completely?

    The proposed mixing of forms and pages works. Following the TechTip you achieve less complex forms, simpler methods and easier maintenance.
    Load the sample database – if you still need help order Coaching.

    Use Google-translation, better than understanding nothing :-) Then you might find further hints at: thinking of levels when programming, keeping a modul in one big methode …, proposal for a nomenclature.

    4D themes: fresh from the workbench

    imagecurrently available in englisch:
    NEW: Macros in V12.4
    Mission Control and V12

    Better machine-translated than non comprende! - Tidy up when done - New kinds of buttons - My own Preferences - DBZ-Calendar component - module-manager and code-blocks - As simple as possible: fulltext-field - V12 and QUERY BY SQL - Updating the User-Interface into today - Rotate Barcodes by 90° - UUID: that special kind of empty - Dynamic Labels - Printing Subforms in V12 - systemtables - structure info - Integrating Addressbook and 4D - SVG and 4D HTML-Tag - Automatic Comments of the Methodeditor - fighting to get ics-files into Outlook - hierarchical lists as datacontainer - UI-changes in V12 - HTML-email and 4D Write - Simple & Lazy - David Dancy … extracting the information that's encoded in a 4D structure file - SVG and 4D - David Adams about Mockup and Wireframing - retrieving MAC-addresses - sampler listbox-templates - Listboxes with footers - Simulating Sub-Pages on Multi-Page Forms - MySQL dump - Dreaming of a rich-text-editor in 4D - iPhone and 4D - email-communication - 4D Write and HTML - Which Web-Editor - Integration of 4D and Web - Cursor-movement in Listboxes - Integrating an Excel-workflow into 4D - Database Photography - Parcels and Ownerinformation atop satellite maps


  • DBZ - Listboxnavigator
  • DBZ - SystemTables
  • DBZ - Calendar