Hosting Winforms UserControl in CDialog focus problem
CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 9 of 9

Thread: Hosting Winforms UserControl in CDialog focus problem

Hybrid View

  1. #1
    Join Date
    Apr 2005
    Posts
    78

    Question Hosting Winforms UserControl in CDialog focus problem

    Hi,

    Im having a problem with focus hosting a winforms usercontrol within an MFC App via a CDialog.
    As described in this article
    http://msdn.microsoft.com/en-us/library/b1kyh79x.aspx

    The usercontrol displays correctly. When I first attempted to select an UI item within the usercontrol, the program hanged.

    Within the OnInitDialog of the CDialog I changed it to return false, then it was OK.
    I could interact with the controls inside the UserControl correctly.

    BOOL CDialogCaseCLR::OnInitDialog()
    {
    CDialog::OnInitDialog();

    return FALSE; // return TRUE unless you set the focus to a control
    // EXCEPTION: OCX Property Pages should return FALSE
    }

    There are some context menus that bring up dialogs within the user-control when these menuitems are selected, the dialogs never display and it just hangs again like the initial problem?

    Cant get my head round what is the problem and what I have to do to solve it?

    Thanks in advance

  2. #2
    GCDEF is offline Elite Member Power Poster
    Join Date
    Nov 2003
    Posts
    12,131

    Re: Hosting Winforms UserControl in CDialog focus problem

    Your debugger should give you some clue.

  3. #3
    Join Date
    Apr 2005
    Posts
    78

    Question Re: Hosting Winforms UserControl in CDialog focus problem

    System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DefWndProc(ref System.Windows.Forms.Message m = {System.Windows.Forms.Message}) + 0x93 bytes
    System.Windows.Forms.dll!System.Windows.Forms.Control.DefWndProc(ref System.Windows.Forms.Message m) + 0xc bytes
    System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) + 0x10e bytes
    System.Windows.Forms.dll!System.Windows.Forms.TabControl.WndProc(ref System.Windows.Forms.Message m) + 0x1b6 bytes
    System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) + 0x10 bytes
    System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) + 0x31 bytes
    System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg = 135, System.IntPtr wparam, System.IntPtr lparam) + 0x57 bytes
    [Native to Managed Transition]

    breaking while it hangs produces above?

    So I guess its it some sort of infinite loop, unable to display the child dialog within the usercontrol?

  4. #4
    Join Date
    Apr 1999
    Posts
    27,434

    Re: Hosting Winforms UserControl in CDialog focus problem

    Quote Originally Posted by PRMARJORAM View Post
    System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DefWndProc(ref System.Windows.Forms.Message m = {System.Windows.Forms.Message}) + 0x93 bytes
    You do know that this forum does not deal in .NET or managed applications, right?

    You should be posting in the Managed C++ forum.

    Regards,

    Paul McKenzie

  5. #5
    Join Date
    Apr 2005
    Posts
    78

    Question Re: Hosting Winforms UserControl in CDialog focus problem

    Quote Originally Posted by Paul McKenzie View Post
    You do know that this forum does not deal in .NET or managed applications, right?

    You should be posting in the Managed C++ forum.

    Regards,

    Paul McKenzie
    Well apart from im calling it from a native C++ MFC App?
    So really needs to be in both threads?
    Can it be copied into the other as well?

    Im assuming the problem is to do with the native client host rather than the managed user control.
    When the user control is run from within a managed host app, no problem.

  6. #6
    Join Date
    Apr 1999
    Posts
    27,434

    Re: Hosting Winforms UserControl in CDialog focus problem

    Quote Originally Posted by PRMARJORAM View Post
    Well apart from im calling it from a native C++ MFC App?
    That makes no difference. MFC works fine when used with Native C++.

    What you are asking for is to fix or diagnose a NET issue. All of those functions in the call stack are .NET functions. Not only that, any Forms related questions also go in the Managed C++ forum.

    Regards,

    Paul McKenzie

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Windows Mobile Development Center


Click Here to Expand Forum to Full Width

This is a CodeGuru survey question.


Featured


HTML5 Development Center