怎么設定各個MENU為灰色,現在的沒法用。
在 mainfrm中使用,沒有效果
pSubMenu = pMenu->GetSubMenu(1);
pSubMenu->EnableMenuItem(ID_CFG,
MF_BYCOMMAND
| MF_DISABLED
| MF_GRAYED);
if (!ProcessShellCommand(cmdInfo))
return FALSE;
初始的時候創建了多個視窗,使用注冊的檔案模板。如何獲取每個視窗VIEW的指標。
在mainfrm中使用這段代碼,沒法獲取
CWinApp *pApp = AfxGetApp();
POSITION PosDocTemplate = pApp->GetFirstDocTemplatePosition();
while(PosDocTemplate)
{
CDocTemplate* pDocTemplate = pApp->GetNextDocTemplate( PosDocTemplate );
POSITION PosDoc = pDocTemplate->GetFirstDocPosition();
while(PosDoc)
{
CDocument* pDoc = pDocTemplate->GetNextDoc( PosDoc );
POSITION PosView = pDoc->GetFirstViewPosition(); //這里獲取是空
while(PosView)
{
CView* pView = pDoc->GetNextView( PosView );
}
}
}
怎么設定各個檔案視窗到最前。
按每個按鈕,讓各個視窗跳到最前

CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(IDR_MAINFRAME,
RUNTIME_CLASS(CHDRGuiDoc),
RUNTIME_CLASS(CChildFrame), // 自定義 MDI 子框架
RUNTIME_CLASS(CHDRGuiView1));
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);
// 創建主 MDI 框架視窗
CMainFrame* pMainFrame = new CMainFrame;
if (!pMainFrame || !pMainFrame->LoadFrame(IDR_MAINFRAME))
{
delete pMainFrame;
return FALSE;
}
m_pMainWnd = pMainFrame;
// 僅當具有后綴時才呼叫 DragAcceptFiles
// 在 MDI 應用程式中,這應在設定 m_pMainWnd 之后立即發生
//m_hInitMenu = ::LoadMenu(hlnst, MAKEINTRESOURCE(IDR_MAINFRAME));
//m_hOPMenu = ::LoadMenu(hlnst, MAKEINTRESOURCE(IDR_HDRGuiTYPE));
/*-------------- Add by tong----------*/
// 主視窗及每一個子視窗(檔案視窗)都愿意接受來自Shell的拖放檔案
m_pMainWnd->DragAcceptFiles(TRUE);
// 當在Shell中對著本程式的檔案快按兩下時,本程式能打開檔案并讀內容
EnableShellOpen();
// 向Shell注冊本程式的檔案型別
RegisterShellFileTypes(TRUE);
/*-------------------------------------*/
// 分析標準外殼命令、DDE、打開檔案操作的命令列
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// 調度在命令列中指定的命令。如果
// 用 /RegServer、/Register、/Unregserver 或 /Unregister 啟動應用程式,則回傳 FALSE。
if (!ProcessShellCommand(cmdInfo))
return FALSE;
if (!ProcessShellCommand(cmdInfo))
return FALSE;
if (!ProcessShellCommand(cmdInfo))
return FALSE;
if (!ProcessShellCommand(cmdInfo))
return FALSE;
// 主視窗已初始化,因此顯示它并對其進行更新
// 主視窗啟動最大化
pMainFrame->ShowWindow(/*SW_SHOWMAXIMIZED*/m_nCmdShow);
pMainFrame->UpdateWindow();
return TRUE;
uj5u.com熱心網友回復:
求幫助
uj5u.com熱心網友回復:
頂下
。。。。。。
uj5u.com熱心網友回復:
ON_UPDATE_COMMAND_UI()pCmdUI->Enable(FALSE);
uj5u.com熱心網友回復:
OnUpdateCommandUI里設定uj5u.com熱心網友回復:
謝謝。menu的問題解決了
uj5u.com熱心網友回復:
點下按鈕把各個視窗彈到最前面,要用什么呢?
視窗都是這樣初始的時候創建的。
if (!ProcessShellCommand(cmdInfo))
return FALSE;
uj5u.com熱心網友回復:
CMDIChildWnd::MDIActivate ()??
uj5u.com熱心網友回復:
ON_UPDATE_COMMAND_UI()
pCmdUI->Enable(FALSE);
點下按鈕把各個視窗彈到最前面,要用什么呢?
視窗都是這樣初始的時候創建的。
if (!ProcessShellCommand(cmdInfo))
return FALSE;
CMDIChildWnd::MDIActivate ()??
就是這個。問題都解決了
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/142519.html
標籤:界面
