請教:除錯時出現的問題
問題類如下:
class CUserFrame : public CMDIChildWnd
呼叫函式如下,實現功能是隻能生成一個子框架和檢視:
void CDatamartApp::OnUserManagement()
{
extern CUserFrame * bUserManagement;
if(!bUserManagement)
{
CMainFrame* pFrame = STATIC_DOWNCAST(CMainFrame, m_pMainWnd);
bUserManagement=(CUserFrame *)pFrame->CreateNewChild(RUNTIME_CLASS(CUserFrame), IDR_MAINFRAME, m_hMDIMenu, m_hMDIAccel);
}
else
{
bUserManagement->SendMessage(WM_SETFOCUS);
}
}
程式執行後,只要呼叫OnUserManagement(),跟蹤器就出現:
Warnning: no shared menu/acceltable for MDI Child window.
經過追蹤,發現問題是winmdi.cpp中以下函式(紅色部分)導致的:
BOOL CMDIChildWnd::LoadFrame(UINT nIDResource, DWORD dwDefaultStyle,
CWnd* pParentWnd, CCreateContext* pContext)
{
// only do this once
ASSERT_VALID_IDR(nIDResource);
ASSERT(m_nIDHelp == 0 || m_nIDHelp == nIDResource);
m_nIDHelp = nIDResource; // ID for help context (+HID_BASE_RESOURCE)
// parent must be MDI Frame (or NULL for default)
ASSERT(pParentWnd == NULL || pParentWnd->IsKindOf(RUNTIME_CLASS(CMDIFrameWnd)));
// will be a child of MDIClient
ASSERT(!(dwDefaultStyle & WS_POPUP));
dwDefaultStyle |= WS_CHILD;
// if available - get MDI child menus from doc template
CMultiDocTemplate* pTemplate;
if (pContext != NULL &&
(pTemplate = (CMultiDocTemplate*)pContext->m_pNewDocTemplate) != NULL)
{
ASSERT_KINDOF(CMultiDocTemplate, pTemplate);
// get shared menu from doc template
m_hMenuShared = pTemplate->m_hMenuShared;
m_hAccelTable = pTemplate->m_hAccelTable;
}
else
{
TRACE(traceAppMsg, 0, "Warning: no shared menu/acceltable for MDI Child window./n");
// if this happens, programmer must load these manually
}
CString strFullString, strTitle;
if (strFullString.LoadString(nIDResource))
AfxExtractSubString(strTitle, strFullString, 0); // first sub-string
ASSERT(m_hWnd == NULL);
if (!Create(GetIconWndClass(dwDefaultStyle, nIDResource),
strTitle, dwDefaultStyle, rectDefault,
(CMDIFrameWnd*)pParentWnd, pContext))
{
return FALSE; // will self destruct on failure normally
}
// it worked !
return TRUE;
}
請問怎麼會這樣?
相關文章
- 請教ejb釋出問題
- Xcode斷點除錯出現的問題XCode斷點除錯
- 請教關於連線池導至系統出錯的問題
- 請教FOP轉換pdf時中文問題
- 請教phpword問題PHP
- 請教SAXParseException問題Exception
- 請教:NullPointerException 問題NullException
- 請教jboss 多應用釋出問題
- 請教一個timeout的實現問題
- 新手請教一下mysql資料連線出現的問題MySql
- 請教!!iplanet的問題
- 請教web工程的的問題?Web
- 請教一個關於EJB建立物件時的問題物件
- 請教Beego Router 問題Go
- javah命令問題請教Java
- banq,Jdon Framework的問題請教Framework
- 請教一個cookies的問題Cookie
- 請教IoC模式中的問題模式
- 請教jive安裝的問題
- 請教一個executeBatch()的問題BAT
- 請教資料的返回問題
- jivejdon執行的問題請教
- STM32F334用keil5的debug除錯時出現問題除錯
- 工程make時出現"時鐘錯誤的問題"的解決方案
- 請教個問題執行 httprunner 遇到的問題HTTP
- Proxy Authorization Required 問題請教UI
- 請教一個JVM問題JVM
- 請教: jive安裝問題?
- 請教javac 編譯問題Java編譯
- 請教XMLHttpRequest和Servlet問題XMLHTTPServlet
- 請教高手一個問題!
- 請教:OpenSessionInViewFilter配置使用問題SessionViewFilter
- 請教一個struct tag的問題Struct
- jquery ajax請教的快取問題jQuery快取
- 請教個mysql叢集的問題MySql
- 請教一個ADAPTER的問題APT
- 請教使用jsp:include的問題JS
- Linux下的JavaC,問題請教LinuxJava