1、 用VC++2012 MFC向導創建多檔案應用程式“MRMS”

2、 添加了一個新的檔案、視圖、框架(ImportGradeCtrl),并能通過功能條上的 “匯入資料” (MRMS.cpp)選單創建新的檔案:
void CMRMSApp::OnImpGc()
{
// TODO: 在此添加命令處理程式代碼
POSITION curTemplatePos = GetFirstDocTemplatePosition();
int iii=0;
while(curTemplatePos != NULL)
{
CDocTemplate* curTemplate =
GetNextDocTemplate(curTemplatePos);
CString str;
curTemplate->GetDocString(str, CDocTemplate::docName);
if(str == _T("ImportGradeControl"))
{
curTemplate->OpenDocumentFile(NULL);
return;
}
}
}

3、下面想通過 滑鼠單擊 “檔案視圖”視窗的樹狀節點 “品位控制資料” 創建新的檔案視圖“ImportGradeCtrl”, 如何實作?

下面的代碼是樹形視圖上回應滑鼠單擊的函式
void CViewTree::OnNMClick(NMHDR *pNMHDR, LRESULT *pResult)
{
// 獲取當前選擇的項
CTreeCtrl* pTreeCtrl = this;
CPoint ptCurSel(0,0);
TVHITTESTINFO HitTestInfo;
// 通過滑鼠在客戶區中的位置
GetCursorPos(&ptCurSel);
pTreeCtrl->ScreenToClient(&ptCurSel);
// 獲取當前選擇的是哪一項
HitTestInfo.pt = ptCurSel;
HTREEITEM hSelect = pTreeCtrl->HitTest(&HitTestInfo);
CString strItem;
if(hSelect != NULL)
{
strItem = pTreeCtrl->GetItemText(hSelect);
::AfxMessageBox( strItem);
}
// 設定該項為選中狀態
pTreeCtrl->SelectItem(hSelect);
if(strItem == _T("品位控制資料庫"))
{
//如果點擊的節點內是“品位資料庫” 則在這里創建一個新的視圖
//該視圖已經創建好,可以在選單上單擊創建
???
???
}
}
請高手指點,謝謝!
uj5u.com熱心網友回復:
創建檔案視窗用可以呼叫CWinAppEx::OnFileNew();uj5u.com熱心網友回復:
我是想通過 單擊 樹形視圖的節點,根據節點不同的標簽,創建不同的新的視圖,也就是想在 CViewTree::OnNMClick(NMHDR *pNMHDR, LRESULT *pResult)這個函式中創建新的視圖(我已經在該函式中實作了判別節點的標簽內容)uj5u.com熱心網友回復:
還發2遍....uj5u.com熱心網友回復:
AfxGetMainWnd()->PostMessage(。。。ID_FILE_NEW);轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/82950.html
標籤:界面
