Announcement

Collapse
No announcement yet.

MDI in PB9 with DDT

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

  • MDI in PB9 with DDT

    I'm amazed by the vastness of this upgrade. So thank you, PB, for all the nice features. but as with all the 'wows' and 'cools' there is a bit of a 'ok, this would have been cool' too.

    I miss the MDI capability of DDT which I was somehow hoping for. Maybe it's because MDI is dead ? Which I think, is not.

    Maybe in another release ?

    Cheers

    Steven
    So here we are, this is the end.
    But all that dies, is born again.
    - From The Ashes (In This Moment)

  • #2
    > miss the MDI capability of DDT

    I don't speak for PowerBASIC Inc. and don't use "DDT" all that often, but thru 8x I have never seen any reference to DDT support for the Multiple Document Interface in any PowerBASIC documentation.

    Unless I really missed something, MDI was supported by the compilers only via the correct use of the Windows' API functions, window classes, messages and notifications.

    MCM
    Michael Mattias
    Tal Systems (retired)
    Port Washington WI USA
    [email protected]
    http://www.talsystems.com

    Comment


    • #3
      Michael,

      True, however, it would have been nice if DDT supported the creation of MDI windows as well. But there is a ddistinction between dialogs and window procedures.

      Cheers

      Steven
      So here we are, this is the end.
      But all that dies, is born again.
      - From The Ashes (In This Moment)

      Comment


      • #4
        > But there is a ddistinction between dialogs and window procedures.

        And?

        Every programmer should create at least one application in which windows are created via CreateWindowEx. (And probably DialogBox and CreateDialog, too).

        Once you can 'do' a window procedure, incorporating it into an MDI application is pretty straightforward. But you do have be able to create a "conventional" window procedure.

        There's a real nice example of an MDI application in the samples folder provided with the compiler (thru 8x, anyway). I think its called "pbedit" or something like that.
        Michael Mattias
        Tal Systems (retired)
        Port Washington WI USA
        [email protected]
        http://www.talsystems.com

        Comment


        • #5
          Originally posted by Michael Mattias View Post
          > But there is a ddistinction between dialogs and window procedures.

          And?

          Every programmer should create at least one application in which windows are created via CreateWindowEx. (And probably DialogBox and CreateDialog, too).

          Once you can 'do' a window procedure, incorporating it into an MDI application is pretty straightforward. But you do have be able to create a "conventional" window procedure.

          There's a real nice example of an MDI application in the samples folder provided with the compiler (thru 8x, anyway). I think its called "pbedit" or something like that.
          I agree. After all this time of using RC Dialogs for almost all of my UI I am now working almost exclusively with CreateWindowEx.
          There is one handy PB thing I've used with sdk and that is the CALLBACK FUNCTION. Get to use all the new CB. goodies.

          James

          Comment


          • #6
            MDI is not very compatible with the Windows Dialog engine.

            Some time back a few us tried to hack a way to get MDI from a DDT dialog and I came close. but there was some quirks that could not be overcome and it was not stable. Our code should be in the forums.

            MDI uses a different set of API than do Dialogs for handling default window messages. Now it is possible to simulate some dialog features in a custom class for MDI, but Dialogs don't much like MDI messages.

            I created a custom Dialog class, which does both dialogs and MDI, but the MDI is treated separately from the Dialog mode (they don't mix). You might say, it is one window class, that it can behave like multiple classes.

            DDT's use of the Windows Dialog engine may make it difficult to add MDI in the future. The only way I see MDI being added, is if DDT added a custom window class internally, rather than use the Dialog class.

            MDI needs to be able via a custom window class or through a superclass (still a custom window class) of another class. Subclassing an existing class simply may not work, which is currently the only way to do it with DDT. I have tried.
            Chris Boss
            Computer Workshop
            Developer of "EZGUI"
            http://cwsof.com
            http://twitter.com/EZGUIProGuy

            Comment


            • #7
              >MDI is not very compatible with the Windows Dialog engine

              Pipes and Mailslots are not very compatible with PB "OPEN"

              DIALOG DOEVENTS is not very compatible with MsgWaitForMultipleObjects

              Lots of things are not very compatible with purposes other than that for which they were intended.
              Michael Mattias
              Tal Systems (retired)
              Port Washington WI USA
              [email protected]
              http://www.talsystems.com

              Comment


              • #8
                Are we still talking "D" as in Documents??? or "D" as in Dialogs???

                Sorry, its a sore point that many misconstrue one for the other
                Engineer's Motto: If it aint broke take it apart and fix it

                "If at 1st you don't succeed... call it version 1.0"

                "Half of Programming is coding"....."The other 90% is DEBUGGING"

                "Document my code????" .... "WHYYY??? do you think they call it CODE? "

                Comment


                • #9
                  "MDI" (D as in 'document') is a common term every Windows' programmer should know.

                  Never make up your own TLA if that TLA is "in common use."

                  If you don't agree with me , "KMA" is still available.....
                  Michael Mattias
                  Tal Systems (retired)
                  Port Washington WI USA
                  [email protected]
                  http://www.talsystems.com

                  Comment

                  Working...
                  X
                  😀
                  🥰
                  🤢
                  😎
                  😡
                  👍
                  👎