MDI within MDI?...

Hi All,

I have an MDI app where I want each child window to in turn host another MDI
parent, allowing a managed frame of children for each top-level MDI child.
The purpose is a "workspace" driven UI where the top-level children are
maximised and displayed as tabs only, but each has to be able to host
further framed windows within it.

I am not an MFC expert on MDI/SDI, nor on the underlying API requirements. I
have been able to create primitive child frame in the top-level view's
OnInitialUpdate, specifying the view as the parent, which does bounds
clipping OK, however I'm looking for a properly managed MDIFrameWnd, such
that there is no client drawing attempt (whitespace) within the view,
scrollbars are provided, and the tile/cascade functions are available.

Has anyone done this, or got some good insight on how it might work? My
option at this point is to examine the CMDIFrameWnd MFC source in detail and
pull out the internals I need, as it cannot be used as a CMDIChildWnd by
default. I have not looked at dual inheritance at this stage, not knowing
about potential clashes, etc.

Any help much appreciated. Cheers!



0
xmail (1)
7/18/2004 4:23:41 AM
vc.mfc 33608 articles. 0 followers. Follow

0 Replies
669 Views

Similar Articles

[PageSpeed] 48

Reply:

Similar Artilces:

MDI appliccation problem
Hi, I am working on an MDI application. I am haveing a strange problemin this application. I have 2 dialogs in the main MDI application (Common settings & standard about app dialog). I have my Doc/View/Frame coming from various DLLs. When I start my application, and use the dialogs (common dialog OR About App) it works fine (i.e. dialog s are displayed properly with proper filled values). Now I create a new instance of a Document by clicking New in Fuile Menu or Ctrl+N (I have 2 document types available right now), and then close the document (by Close in File menu or Ctrl+F4). After ...

MDI within MDI?...
Hi All, I have an MDI app where I want each child window to in turn host another MDI parent, allowing a managed frame of children for each top-level MDI child. The purpose is a "workspace" driven UI where the top-level children are maximised and displayed as tabs only, but each has to be able to host further framed windows within it. I am not an MFC expert on MDI/SDI, nor on the underlying API requirements. I have been able to create primitive child frame in the top-level view's OnInitialUpdate, specifying the view as the parent, which does bounds clipping OK, however I'm l...

Creating Document in MDI app
Hi, In my application I wish to be able to export certain data to another file. In one of the functions in my view I need to create a new document, call some functions on it then save and close the document. I am struggling to find how to do this. I have only one Document template in my app. The code I have so far is: POSITION p = GetApp()->GetFirstDocTemplatePosition(); CDocTemplate* pTem = GetApp()->GetNextDocTemplate(p); CBob_photoDoc* pDoc = (CBob_photoDoc*) pTem->OpenDocumentFile(GetApp()->m_pProfStrs->DefFile,false); CBob_photoDoc is my document class. I can now...

How to set MDI view as background view?
I am developing a MDI application and have the requirement to allow for the definition of a single background view. By using a bulletin board analogy, it is more clear what is needed. In this analogy, the background view would be the bulletin board and all other views would be the flyers in the foreground. I have no problems implementing this by changing the z-order of the desired background view by calling the frame window's SetWindowPos() method, provided that no view is maximized. However, I need to implement this capability regardless of the window state; normal, maximized, minimize...

MDI with DLLs
Hi I want to create an MDI application that will have different views. It will need form views, views and listview. I can do this with no problem using just an regular exe with all the code in it, but I want to be able to put all the code and resources of the view classes and other part of the programs in dlls so if I find a problem in one part of the program I will only update the dll where the problem is. How do I do this? How do I load a child view from a dll? What is the best way to do this "Alfredo" <anonymous@discussions.microsoft.com> wrote in message news:94099A9B-...

Adding a row in all workbooks within a spreadsheet
I have 5 workbooks that link to one workbook. If I need to add a row how do I do that in all workbooks at one time? Select the first sheet tab, then with the SHIFT key depressed select the last sheet tab. You will notice that the file name will change to GROUPED. Inserting a row on a sheet will ensure that the row is inserted in all the selected row. PLEASE ENSURE that you ungroup the sheets (right click on the tab name and then select ungroup) as soon as possible because in a grouped format ANYTHING you do will affect ALL sheets (even if you delete). HTH "ndpocohantas" w...

Worksheets within a worksheet
I need to do a separate worksheet for each State, which I can do, but then within each State worksheet, have a separate worksheet for each month. And be able to tab through each monthly worksheet for that State. Is this possible? Need a seperate file for each state to do this "Casey" <Casey@discussions.microsoft.com> wrote in message news:CD2DF476-F369-45B0-BB61-94C1E3831A07@microsoft.com... : I need to do a separate worksheet for each State, which I can do, but then within each State worksheet, have a separate worksheet for each month. And be able to tab through each mon...

Sending emails from within Excel ??
I have a worksheet with names and address's of customers, also with there email address's. I want to send (via a button on a worksheet) an email to every customer listed. Any advice plz Hi Strange Name Do you use Outlook or Outlook express Do you want to send the same mail to all people or do you want to personalize the mail -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "boombangabang" <boombangabang@hotmail.com> wrote in message news:ba2c33l3b0f8nr0ejc8mn5m3p58v16s4pm@4ax.com... >I have a worksheet with names and address's of customers, als...

Updating OLE objects within table
I would like to update a field set as an OLE object (e.g. picture) within a field. Is this possible to be done in batch, rather than selecting each object manually? ...

Problem with Full Screen MDI application
Hi all, I have added full screen functionality to MDI application as per fscrn.exe sample provided by microsoft. The problem is when I minimize the application (provided a minimize button on toolbar), and after that lock the computer and log in again, and click on taskbar to show application again, then menubar associated with application shows up. It does not go even if I minimize the application and again show it back. This problem is not present when I just minimize the application without locking the computer. It does not show menubar that time. Please help me. Thank you, Sandeep Kulkarni ...

Hyperlink within page
I am trying to create a web page using publisher. On one of my pages I have a list. I want to be able to hyperlink from the name on the top to a description further down in the page. I cannot figure out how to hyperlink within a page I cover this on my site, www.davidbartosik.com Refer to the article listing for your version. In the future visit our web group at microsoft.public.publisher.webdesign -- David Bartosik - Microsoft MVP Visit www.davidbartosik.com for Publisher and Web Design Tips and How-to's. "Kelly" <FajardoK@hotmail.com> wrote in message news:136...

integration MDI child views from VC i VB into one MDI App
Hey, I’d like to integrate two applications: First is MDI application written in Visual C++ 6.0. Second is dialog-based application written in Visual Basic 6.0, but I suppose that we can change the main dialogs to MDIChild forms. Both applications are in DLLs at all. Is it possible to use a MDI child forms created in visual basic 6 and in visual studio c++ together in one MDI application? I suppose that main MDI application should be written in VC++, because it’s extremely flexible and I know this environment the best, but maybe I’m wrong :). Maybe for example in C# .net it’d be easier...

Text line spacing within a cell
How can I create a 1.5 space between lines of text within any cell I choose, like Word allows ? Excel doesn't have a line spacing command similar to Word's. To create a line break in a cell, press Alt+Enter. To increase the spacing between two lines of text in a cell, select a space character in the second line of text, and increase its font size by 50%. Or, create the worksheet in Excel, then copy it into Word, and do the paragraph formatting. Ray R. wrote: > How can I create a 1.5 space between lines of text within any cell I choose, > like Word allows ? -- Debra Dal...

Creat links to pages within the newsletter
How do I create links from the headlines discussed throughout a newsletter. Verses having readers scroll to each topic page by page. You can insert a hyperlink to the top of any other page in your publication and it will survive conversion to a PDF if you are using Pub 2007 and the pdf addin. If you insert a bookmark, and then a hyperlink to that bookmark and convert to a pdf, the link will only take you to the top of that page, and not to the bookmark. To get links to take you to specific bookmarks and thus specific locations on any page, you have to convert your publication t...

MDI childframe problems
To create a maximized mdi child frame I tried this: BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CMDIChildWnd::PreCreateWindow(cs) ) return FALSE; if (IsWindow(m_hWnd)) { ShowWindow(SW_SHOWMAXIMIZED); } return TRUE; } The window is opened maximized but the minimize/maximize/close buttons are missing. When I open a 2nd document and click on windows | tile the behaviour turns back to normal. Can someone tell what's wrong here? cs.style |= WS_MAXIMIZE didn't work either. It's opened in normal size. TIA, Hans Do this in ActivateFrame: void CChildFrame...

How to update values in message boxes from within VBA?
I have a macro (in VB) as shown down below invoked by F11 - I created it initially with record macro. It allows me to type in a name for an invoice and increment the invoice number. When I first press F11 it invokes two consecutive message boxes to accept input to update two fields on the invoice. The first message box comes up with the current value of the field from the invoice template (Client Name). I change the name in the this first message box and press OK on the message box. The second message box comes up with the current value of the field from the invoice templat...

about mdi
hi!can you have some sample code about mdi: i want to create a mdi program,it have two view,and the one view attach one document! thanks you ! there are many samples in the msdn library. also the app wizard will build you a basic mdi app automatically, that is the easiest way to get started. "land" <lfang@altigen.com.cn> wrote in message news:eT1J0aKnEHA.3756@TK2MSFTNGP11.phx.gbl... > hi!can you have some sample code about mdi: > i want to create a mdi program,it have two view,and the one view attach > one document! > > thanks you ! > > ...

HOWTO Subclass a .NET UserControl's window handle to an MDI EXE
HOWTO Subclass an AtvieX control's window handle to an MDI EXE Please help, I want to make .NET UserControl launch a VC++/MFC/MDI EXE that in turn is fed the UserControl's windows handle via the STDIN, that EXE then uses to subclass, so that its GUI appears in the UserControl's space. Getting the .NET UserControl's windows handle was easy, it was simply "this.Handle". Using the various .NET means to launch an EXE was easy, and to make the .NET UserControl let the EXE inherit the STDIN handles was easy. And I got the EXE to "see/read" the HANDLE on th...

modeless MDI
Oh heck..., This is what I'm trying to do. What's the best way forward? I want to have a "CONTROL" panel. Which contains a list of objects. I wanto be able to click on the objects to open a window to edit its properties. I'd liike to be able to open ultiple nstances of the window. I guess this sounds like an MDI? I want also to be able to click on bits of the control panel to open up modal dialog winodws to edit other properties, e.g. add another item to the list. I have a feeling that my mouth is bigger than my stomach. I'm not even meant to be a programmer.... I...

Page Numbering Within Sheet
I have a complex header that I need to be part of the sheet and cannot put in the header section so I have put it in and used Repeat Rows at Top of Page to ensure it is on every page. I would like to insert the page number in Cell J5 (within the Repeat Rows area) and would like it to change on every page. Is there anyway this can be done? I'm not an advanced user, can copy and paste a macro but do not know how to write my own or use VBA. THANKS! Kathryn hi, Kathryn ! > I have a complex header that I need to be part of the sheet and cannot put in the header section > so...

Error in Petzold book? (MDI)
I'm using Charles Petzold's "Programming Windows 95" (copyright 1996), and I'm following his guidelines for creating an MDI (multi-doc-interface). I have copied his code from "mdidemo.c" and made a few minor and harmless changes. The problem is that this code always crashes during the CreateWindow() call that makes the "frame window". Has anybody else tried compiling this code?? I only made one small modification to the code. During the CreateWindow(), instead of using NULL as the last parameter, I used a pointer to some data. Like this : WinMa...

MDI
Everytime I try to save a publisher file now as a tiff file it saves it as a MDI file. I know this is basically a tiff file but to do what I want I need to save it as a true tiff. The MDI requires me to convert and for some reason I can't. Do you have Office 2003? Can you bring the file into the Document Imaging application and convert it there? Some Microsoft articles addressing MDI http://tinyurl.com/2t7vk http://tinyurl.com/32s3l -- Mary Sauer MS MVP http://office.microsoft.com/ http://www.mvps.org/msauer/ news://msnews.microsoft.com "Gary" <anonymous@discussions.mi...

MDI newbie ?
I want to add a "reload" command that will close the current(and only) document and reload it again. Here is what I have tried so far: <code> AfxGetMainWnd()->PostMessage(WM_COMMAND, ID_FILE_NEW); while(AfxGetApp()->GetOpenDocumentCount() > 0); AfxGetApp()->OpenDocumentFile(currentFluPath); </code> This doesn't work, because, as I've learned ID_FILE_NEW create just that, a new blank document so count is still 1. I can't figure out what I should check for, how I can know when the ID_FILE_NEW is done so that I can call OpenDocumentFile() Does ...

Generate File name within worksheet
I am trying to get data from several workbooks into a worksheet. Each item has its own workbook. I need to run a series of calculations for each item and then reference that data into a worksheet in a different workbook. Lets say the source workbooks are named HP-1, HP-2, HP-3, ... In my active worksheet, I want to reference data from the same location in each of the source workbooks. As an example, The source file name is HP-3.xls. The sourcefile worksheet name is COOL_STR. The value in C5 of my active worksheet is 3. TO get the desired data I tried =+'<path>["HP-"...

IF function within an IF function?
How can I nest an IF function within an IF function? What I have now: =IF(G5<G6,"A","B") What I would like: IF G5 <= G6 THEN IF J5 < J6, "A", "B" ELSE "B" If the the first 2 comparisons are equal, I want it to evaluate different cell -- Message posted from http://www.ExcelForum.com =IF (G5 <= G6,IF(J5 < J6, "A", "B" ),"B") should do it for you. Hope this helps Paul Falla >-----Original Message----- >How can I nest an IF function within an IF function? > >What I have now:...