MDI Windows Manager dialog

Environment: VC++ 5.0; NT 4.0

What's this?

This article describes how to implement Windows Manager dialog. It manages currently open windows (Activate, Save, Close, Tile, Cascade, Minimize)

How to use it?

1. Add to your CMainFrame class member variable of type CMDIClient A good practice is to keep the variables protected (or private).

2. Then within OnCreate() handler add a following code.

    
    int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
        if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
            return -1;
    	
        // Subclass the MDI client window
        VERIFY(m_MDIClient.SubclassWindow(m_hWndMDIClient));
    
        return 0;
    }
    
    

3. Copy to your project IDD_WINDOW_MANAGE dialog (from WindowManager.rct).

4. Add folowing resource strings:

    ID Caption Description
    IDS_WINDOW_WINDOWS "&Windows..." Menu text
    ID_WINDOW_MANAGE "Manages the currently open windows.\nWindow List" Message prompt

5. Add handler to command ID_WINDOW_MANAGE and add a following code.

    
    void CMainFrame::OnWindowManage()
    {
        m_MDIClient.ManageWindows(this);
    }
    

6. Build and run your application.

7. Go to Window menu and click Windows...

Unicode?

Not tested, but should work.

Downloads

Download demo project - 41,3 KB
Download source - 4,6 KB


Comments

  • This code makes modal dialog modeless !!

    Posted by Legacy on 12/20/1999 12:00am

    Originally posted by: Kaizen

    If invoked by a modal dialog's menu, the Windows Manager makes the dialog modeless !!

    While interesting, this behavior is not desirable. Any fix?

    Reply
  • Download Links Fixed by Codeguru

    Posted by Legacy on 07/17/1999 12:00am

    Originally posted by: Brian Hart

    Codeguru has now fixed the 'Download Demo Project' and 'Download Source Code' links on the main page of this article.

    Brian
    http://www.wndbsoft.com/dev/

    Reply
  • Show appreciation for good codes...

    Posted by Legacy on 05/17/1999 12:00am

    Originally posted by: Paul Selormey

    Hello Happy-Dog,
    The codes shown here may not illustrate any new
    feature but the implementation is solid and teaches some
    cool stuff. Please read the codes carefully, you might learn
    something.

    Bye,
    Paul.

    Reply
  • no special useful information

    Posted by Legacy on 05/04/1999 12:00am

    Originally posted by: Happy--Dog

    hope get more useful info

    Reply
  • No Links even on comments

    Posted by Legacy on 05/03/1999 12:00am

    Originally posted by: C Urquhart

    The links are broken

    Reply
  • Here's the file locations

    Posted by Legacy on 05/02/1999 12:00am

    Originally posted by: Richard A. Nichols

    This is getting old!

    Here are the url's, the 's' was left out of the names

    /doc_view/WindowsManager_demo.zip
    /doc_view/WindowsManager_src.zip


    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: September 10, 2014 @ 11:00 a.m. ET / 8:00 a.m. PT Modern mobile applications connect systems-of-engagement (mobile apps) with systems-of-record (traditional IT) to deliver new and innovative business value. But the lifecycle for development of mobile apps is also new and different. Emerging trends in mobile development call for faster delivery of incremental features, coupled with feedback from the users of the app "in the wild". This loop of continuous delivery and continuous feedback is …

  • As mobile devices have pushed their way into the enterprise, they have brought cloud apps along with them. This app explosion means account passwords are multiplying, which exposes corporate data and leads to help desk calls from frustrated users. This paper will discover how IT can improve user productivity, gain visibility and control over SaaS and mobile apps, and stop password sprawl. Download this white paper to learn: How you can leverage your existing AD to manage app access. Key capabilities to …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds