Solved

1500 points! MDI application with docking window

Posted on 2001-06-14
13
400 Views
Last Modified: 2013-11-20
I wrote an MFC MDI application wichone can load (CreateWindowEx) controls (ActiveX) by they ProgID and shows them.
My problem is I need to dock/undock these controls (user can do this by mouse).

I need a complete code for that, not just tips and tricks. A full code from the beginning: CreateWindowEx, etc, etc in MFC.
I can't accepts codes that are not works well.

I will give 1500 points for the perfect answer. I can only give it in 5 questions (300*5).

Wakizashi
0
Comment
Question by:Wakizashi
13 Comments
 
LVL 42

Expert Comment

by:sedgwick
ID: 6190705
why CreateQindowEx and not just Create()?
0
 
LVL 1

Author Comment

by:Wakizashi
ID: 6190730
Because I create child windows from control on the harddrive. I create instances by ProgID's. The second part of my answer is: because I want to use CreateWindowEx.

Waiting for an answer...
0
 
LVL 9

Expert Comment

by:ShaunWilde
ID: 6190816
have a look at http://www.codetools.com/docking/sizecbar.asp - this shows how to create a docking window - then you can just host your controls inside it
0
 
LVL 9

Expert Comment

by:ShaunWilde
ID: 6190917
I then modifiy

int CMyBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
     if (baseCMyBar::OnCreate(lpCreateStruct) == -1)
          return -1;

     SetSCBStyle(GetSCBStyle() | SCBS_SHOWEDGES | SCBS_SIZECHILD);

     // older versions of Windows* (NT 3.51 for instance)
     // fail with DEFAULT_GUI_FONT
     if (!m_font.CreateStockObject(DEFAULT_GUI_FONT))
          if (!m_font.CreatePointFont(80, "MS Sans Serif"))
               return -1;

     m_wndBrowser.CreateControl(CLSID_WebBrowser,"",WS_CHILD|WS_VISIBLE,CRect(0,0,50,50),this,100);
     LPUNKNOWN lpUnk = m_wndBrowser.GetControlUnknown();
     IWebBrowser2* pBrowserApp;
     HRESULT hr = lpUnk->QueryInterface(IID_IWebBrowser2, (void**) &pBrowserApp);

     BSTR url=CString("www.experts-exchange.com").AllocSysString();
     pBrowserApp->Navigate(url,NULL,NULL,NULL,NULL);
     ::SysFreeString(url);
     pBrowserApp->Release();

     return 0;
}

and add CWnd m_wndBrowser; to the class header
0
 
LVL 9

Expert Comment

by:ShaunWilde
ID: 6194583
can we help more?
0
 
LVL 1

Author Comment

by:Wakizashi
ID: 6194601
Please wait. I need a few days to find out that everything is okay or not.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 9

Expert Comment

by:ShaunWilde
ID: 6195247
that's okay - just post if you have problems - I can send you my code - I just modded the sample they had - but I dunno if that is what you were looking for
0
 
LVL 1

Author Comment

by:Wakizashi
ID: 6201279
That's what I'm looking for but it looks like I need your code. Please post it.
0
 
LVL 9

Accepted Solution

by:
ShaunWilde earned 300 total points
ID: 6201595
> That's what I'm looking for but it looks like I need your code. Please post it.

your email please :)
0
 
LVL 9

Expert Comment

by:ShaunWilde
ID: 6201600
however everything you need is on this page
0
 
LVL 9

Expert Comment

by:ShaunWilde
ID: 6201615
except that I fogot to mention that you need to add AfxEnableControlContainer(); to InitInstance of you CWinApp derived class
0
 
LVL 1

Author Comment

by:Wakizashi
ID: 6201624
My E-Mail address is psycho@ag-e.hu.

Thank You in advice.
0
 
LVL 23

Expert Comment

by:Roshan Davis
ID: 9484696
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

Answered by : ShaunWilde

Please leave any comments here within the next seven days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

Roshan Davis
EE Cleanup Volunteer
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Load and Save to file, Document-View interaction inside the SDI. Continuing from the second article about sudoku.   Open the project in visual studio. From the class view select CSudokuDoc and double click to open the header …
Introduction: Ownerdraw of the grid button.  A singleton class implentation and usage. Continuing from the fifth article about sudoku.   Open the project in visual studio. Go to the class view – CGridButton should be visible as a class.  R…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now