CControlBar & CStatusBar
- From: "William" <port@xxxxxxxxxxxxxxxxxx>
- Date: Fri, 14 Sep 2007 00:30:30 +0900
Env: WindowsXP, VC++6.00
In my app, there are some toolbars and an user can show/hide them freely just as "docktool" sample in [MSDN]does. I make a pop-up Menu to set show/hide them toolbars as follows,
BOOL CMainFrame::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_RBUTTONDOWN)
{
CWnd* pWnd = CWnd::FromHandlePermanent(pMsg->hwnd);
CControlBar* pBar = DYNAMIC_DOWNCAST(CControlBar, pWnd);
if (pBar != NULL)
{
CMenu Menu;
CPoint pt;
pt.x = LOWORD(pMsg->lParam);
pt.y = HIWORD(pMsg->lParam);
pBar->ClientToScreen(&pt);
if (Menu.LoadMenu(IDR_TOOLBAR))
{
CMenu* pSubMenu = Menu.GetSubMenu(0);
if (pSubMenu!=NULL)
{
pSubMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,pt.x,pt.y,this);
}
}
}
}
return CFrameWnd::PreTranslateMessage(pMsg);
}
I hope the pop-up Menu will be showed only when I right-click their toolbars. But when I right-click the statusbar of app, the pop-up Menu also appears. That is, pBar is not equal to NULL.
So, how can I distinguish between CControlBar and CStatusBar?
TIA
William
.
- Follow-Ups:
- Re: CControlBar & CStatusBar
- From: David Ching
- Re: CControlBar & CStatusBar
- From: Ajay Kalra
- Re: CControlBar & CStatusBar
- Prev by Date: Re: unable to Create dialog in extension dll
- Next by Date: Re: CControlBar & CStatusBar
- Previous by thread: Re: unable to Create dialog in extension dll
- Next by thread: Re: CControlBar & CStatusBar
- Index(es):