Announcement

Collapse
No announcement yet.

MDI in PB9 with DDT

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

  • Michael Mattias
    replied
    "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.....

    Leave a comment:


  • Cliff Nichols
    replied
    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

    Leave a comment:


  • Michael Mattias
    replied
    >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.

    Leave a comment:


  • Chris Boss
    replied
    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.

    Leave a comment:


  • jcfuller
    replied
    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

    Leave a comment:


  • Michael Mattias
    replied
    > 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.

    Leave a comment:


  • Steven Pringels 3
    replied
    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

    Leave a comment:


  • Michael Mattias
    replied
    > 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

    Leave a comment:


  • Steven Pringels 3
    started a topic MDI in PB9 with DDT

    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
Working...
X