Print Page | Close Window

CXTPTabClientWnd - How to tell if ..?

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Toolkit Pro
Forum Description: Topics Related to Codejock Toolkit Pro
URL: http://forum.codejock.com/forum_posts.asp?TID=2726
Printed Date: 05 May 2024 at 4:02am
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: CXTPTabClientWnd - How to tell if ..?
Posted By: Hazelnut
Subject: CXTPTabClientWnd - How to tell if ..?
Date Posted: 15 August 2005 at 6:15pm

Hi All,

How can you tell when a tab on a CXTPTabClientWnd has been selected? In other words, I need to find the active frame based on which tab is selected WHEN the tab is changed but NOT when I manually check for it.  I guess I want to know if there is a way to get notified when a tab is selected. The only message I see from the control is WM_XTP_PRETRANSLATEMOUSEMSG but that doesn't notify me if a tab is changed.

Thanks!




Replies:
Posted By: Oleg
Date Posted: 16 August 2005 at 2:36am

I think you don't need "tab selected" event because user can press Ctrl+Tab to change active MDI instead of using mouse.

 

You need WM_MDIACTIVATE event:

1. Override CXTPTabClientWnd, add message map

2. add ON_MESSAGE(WM_MDIACTIVATE, OnMDIActivate)

3.

LRESULT CMyTabClientWnd::OnMDIActivate(WPARAM wParam, LPARAM lParam)

  // do  stuff.

  return CXTPTabClientWnd::OnMDIActivate(wParam, lParam);

}

 



-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS


Posted By: Hazelnut
Date Posted: 16 August 2005 at 10:46am

Thanks again Oleg, worked like a charm!

class CMyTabClientWnd : public CXTPTabClientWnd

{

public:

CMyTabClientWnd() {}

virtual ~CMyTabClientWnd() {}

//{{AFX_VIRTUAL(CMyTabClientWnd)

//}}AFX_VIRTUAL

protected:

//{{AFX_MSG(CMyTabClientWnd)

afx_msg LRESULT CMyTabClientWnd::OnMDIActivate(WPARAM wParam, LPARAM lParam);

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

/// CPP...

BEGIN_MESSAGE_MAP(CMyTabClientWnd, CXTPTabClientWnd)

//{{AFX_MSG_MAP(CMyTabClientWnd)

ON_MESSAGE(WM_MDIACTIVATE, OnMDIActivate)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

LRESULT CMyTabClientWnd::OnMDIActivate(WPARAM wParam, LPARAM lParam)

{

   TRACE("Tab Activated\n");

   return CXTPTabClientWnd::OnMDIActivate(wParam, lParam);

}



Posted By: Oleg
Date Posted: 17 August 2005 at 7:40am
Glad to help :)

-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS



Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.04 - http://www.webwizforums.com
Copyright ©2001-2021 Web Wiz Ltd. - https://www.webwiz.net