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 » I don't want CExtDynTabWnd to activate application Collapse All
Subject Author Date
Thomas Maurer Apr 4, 2006 - 4:47 AM

Hello

I have an application that - under certain circumstances - should not be activated when a new file is opened. I now captured the WM_ACTIVATE message and checked who is triggering it. I found out that it is a CExtDynTabWnd that calls SetFocus during OnTabWndSelectionChanged. The selection is changed upon DockControlBarIntoTabbedContainer.

How can I prevent that this CExtDynTabWnd is not calling SetFocus? One (complicated) solution would be to derive my own OnTabWndSelectionChanged. If that is the solution I don’t know how to setup my bar that it is creating from my derived class and not from CExtDynTabWnd.

I hope that there is an easier solution

Thanks in advance

Thomas

Technical Support Apr 4, 2006 - 10:47 AM

We may add a notification message that is sent to the main frame window about whether the tabbed container is enabled for changing the focus. Please let us know if this may be helpful.

Thomas Maurer Apr 4, 2006 - 11:46 AM

Hello

That would be most helpful. Naturally (like every developer) I have a tight schedule. Until when do you think that could be ready?

Thanks a lot in any case

Thomas

Technical Support Apr 6, 2006 - 6:47 AM

We added a CExtControlBar::g_nMsgQueryFocusChangingEnabled registered windows message that is sent to the main frame window (so you can handle it):

afx_msg LRESULT OnMsgQueryFocusChangingEnabled( WPARAM wParam, LPARAM lParam );
 
ON_REGISTERED_MESSAGE( CExtControlBar::g_nMsgQueryFocusChangingEnabled, OnMsgQueryFocusChangingEnabled )
 
LRESULT CMainFrame::OnMsgQueryFocusChangingEnabled( WPARAM wParam, LPARAM lParam )
{
    ASSERT_VALID( this );
    lParam;
CExtControlBar::QueryFocusChangingEnabled_t * pQFCE =
        reinterpret_cast < CExtControlBar::QueryFocusChangingEnabled_t * > ( wParam );
    pQFCE->m_bFocusChangingEnabled = false; // DENY FOCUS CHANGING
    return 0;
}
Please contact us by e-mail so we can tell you how to download it by ftp.