rascal
asked on
Wrap a SDI/MDI app via an OCX?
I have seen articles on, and have successfully been able to wrap a modal dialog into an OCX, resulting in an OCX that has the full dialog functionality etc. This has enabled me to code a modal dialog control for use in a web page.
But is it possible to wrap an MDI/SDI app with an OCX? If so, how would this be done?
I can describe how the CDialog was wrapped by the OCX in hopes it may trigger some thoughts:
1) Create an OCX using the Visual Studio ActiveX control wizard.
2) Add a dialog to the ocx via the resource tab, then use the class wizard to generate the CDialog based class code.
3) Create a member variable within the OCX of the CDialog based class just created.
4) In the OCX's InitInstance, call CDialog::Create() on the member variable to create the dialog.
5) In the OCX's OnDraw, comment out the existing draw code and instead call the member variable's OnDraw.
This works great and I have used it often.
The issue here is that I want to create a more sophisticated UI, a splitter window similar to Windows Explorer with a tree view on the left, and a list view on the right, separated by a splitter.
Visual Studio App Wizard generates this in the form of an SDI/MDI app and it is this app I would like to wrap in the form of an OCX so that it could be used as a WEB control, or within another app as a dialog control etc.
I don't know if this is possible, but I am looking for clues as to how this could be done. I am willing to prototype and work with someone on this to get it working.
Thanks.
But is it possible to wrap an MDI/SDI app with an OCX? If so, how would this be done?
I can describe how the CDialog was wrapped by the OCX in hopes it may trigger some thoughts:
1) Create an OCX using the Visual Studio ActiveX control wizard.
2) Add a dialog to the ocx via the resource tab, then use the class wizard to generate the CDialog based class code.
3) Create a member variable within the OCX of the CDialog based class just created.
4) In the OCX's InitInstance, call CDialog::Create() on the member variable to create the dialog.
5) In the OCX's OnDraw, comment out the existing draw code and instead call the member variable's OnDraw.
This works great and I have used it often.
The issue here is that I want to create a more sophisticated UI, a splitter window similar to Windows Explorer with a tree view on the left, and a list view on the right, separated by a splitter.
Visual Studio App Wizard generates this in the form of an SDI/MDI app and it is this app I would like to wrap in the form of an OCX so that it could be used as a WEB control, or within another app as a dialog control etc.
I don't know if this is possible, but I am looking for clues as to how this could be done. I am willing to prototype and work with someone on this to get it working.
Thanks.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks, that does the trick!
ASKER
I hope I didn't speak too soon. The issue I find now is the dialog has to be a child window. This appears to hose the Splitter window since the splitter needs to be a top level window (?)
Any thoughts?
Any thoughts?
I will try it once & get back to u.
From
MRN Murthy