Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS Tech Support » Child dialog with CEdit within a CExtControlBar Collapse All
Subject Author Date
Chris Fudge Jun 8, 2005 - 4:13 AM

I am using a Child window within a dock control bar. The child window however is created in a COM dll and the main app creates a CExtControlBar which the com dll uses as a parent for the child dialog it creates.

I have encountered a few problems:

If i have a CEdit control on the child dialog then messages such as ctrl+v do not get processed.
Tabbing around the dialog controls does not work
If I use a DHTML dialog as the child dialog and navigate it to a web page with a edit box on then pressing enter doesnt make a new line (as well as the other problems experienced with a normal dialog).

I have sent some demo projects for the com dll and exe to the support email address.

Thanks in advance.

Technical Support Jun 8, 2005 - 11:09 AM

Dear Chris,

We have modified your projects. First of all, we made the CIPlugInterface control more powerful:

class ATL_NO_VTABLE CIPlugInterface : 
      public CComObjectRootEx<CComSingleThreadModel>,
      public CComCoClass<CIPlugInterface, &CLSID_IPlugInterface>,
      public IDispatchImpl < IIPlugInterface, 
                          &IID_IIPlugInterface, 
                          &LIBID_XPPluginLib, 
                           /*wMajor =*/ 1, 
                           /*wMinor =*/ 0>,
      public IOleInPlaceActiveObjectImpl < CIPlugInterface >
      , public CComControl < CIPlugInterface >
      ,     public IOleControlImpl < CIPlugInterface >
      ,     public IOleObjectImpl < CIPlugInterface >
      ,     public IViewObjectExImpl < CIPlugInterface >
      ,     public IOleInPlaceObjectWindowlessImpl < CIPlugInterface >
      ,     public IQuickActivateImpl < CIPlugInterface >
. . .
It was not possible to avoid this modification. Second, we have created the CMyCompatibleControlBar class in your EXE project and we used it as a type for the CMainFrame::m_wndResizableBarDlg property. This control is now compatible with your improved window-based COM control. It is possible to avoid using CMyCompatibleControlBar, but you should create an improved version of your control using the CWnd::CreateControl() method. The Prof-UIS 2.33 works very well with CWnd-subclassed COM controls.

Finally, we have modified the properties of the dialog template resource in your project: we set up the want return property of the multi-line edit control to true.