1、修改左上角圓形按圖標(biāo)。可以將要顯示的圖標(biāo)放在資源中加載,也可以將圖標(biāo)文件放在程序目錄下加載。

創(chuàng)新互聯(lián)建站是專業(yè)的恩陽(yáng)網(wǎng)站建設(shè)公司,恩陽(yáng)接單;提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行恩陽(yáng)網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
CRect rt1;
m_wndRibbonBar.GetClientRect(&rt1);
CMFCRibbonApplicationButton * pAppButton = m_wndRibbonBar.GetApplicationButton();
HBITMAP hBitmap = (HBITMAP)::LoadImage(NULL,
CScale3DCGlobal::GetAppllicationPath()+ _T("\\user\\admin.bmp"),
IMAGE_BITMAP,
0, 0, //原始大小
LR_DEFAULTCOLOR | LR_CREATEDIBSECTION | LR_LOADFROMFILE);
pAppButton->SetImage(hBitmap);以上代碼放在MainFrame.cpp的OnCreate中執(zhí)行。
2、在Ribbon中加載自己的控件
CRect rt(10, rt1.bottom+3, 460, rt1.bottom + 3+107);
m_LedString.Create(_T("000000"), 0, rt, &m_wndRibbonBar, IDC_LED1);
m_LedString.SetStringPost(25, 21);
m_LedString.SetStringAmp(0.3);
m_LedString.SetTip(_T("COM4:9600 XK3190A9 COM2:YH-5大屏幕"));
m_LedString.SetUnit(_T("公斤"));3、在一個(gè)按鈕點(diǎn)擊事件中創(chuàng)建新的視圖
if (m_bIsScaleWeightView)
{
m_pScaleWeightChildFrame->ActivateFrame();//激活已存在的視圖
m_pScaleWeightChildFrame->SetFocus();
return;
}
m_pScaleWeightChildFrame = new CScale3DCChildFrame;
CCreateContext context;
context.m_pNewViewClass = RUNTIME_CLASS(CScale3DCScaleWeightView);
if (!m_pScaleWeightChildFrame->LoadFrame(IDR_MAINFRAME,
WS_OVERLAPPEDWINDOW | FWS_PREFIXTITLE, AfxGetMainWnd(), &context))
return;
m_pScaleWeightChildFrame->InitialUpdateFrame(NULL, TRUE);
m_bIsScaleWeightView = TRUE;//防止重復(fù)創(chuàng)建視圖4、通過(guò)工具欄隱藏和顯示面板
BOOL CScale3DCMainFrame::OnCloseDockingPane(CDockablePane* pWnd)//虛函數(shù)
{
// TODO: 在此添加專用代碼和/或調(diào)用基類
m_bVideoShow = TRUE;
m_bDataGridShow = TRUE;
return CMDIFrameWndEx::OnCloseDockingPane(pWnd);
}
//虛函數(shù)
BOOL CScale3DCMainFrame::OnCloseMiniFrame(CPaneFrameWnd* pWnd)
{
// TODO: 在此添加專用代碼和/或調(diào)用基類
CWnd* pwnd = pWnd->GetPane();
if (pwnd->IsKindOf(RUNTIME_CLASS(CTabbedPane)))//多個(gè)窗口
{
CTabbedPane* tabpane = (CTabbedPane *)pwnd;
CMFCBaseTabCtrl* pTabWnd = tabpane->GetUnderlyingWindow();
//關(guān)閉所有的面板
for (int i = 0; i < pTabWnd->GetTabsNum(); i++)
{
CDockablePane* pBar = DYNAMIC_DOWNCAST(CDockablePane,
pTabWnd->GetTabWnd(i));
if (pBar != NULL)
{
ASSERT_VALID(pBar);
//將關(guān)閉消息加入該DockPane隊(duì)列,等待完成本函數(shù)后關(guān)閉
::PostMessageA(pBar->m_hWnd, WM_CLOSE, 0, 0);
}
}
}
else
{ //單個(gè)窗口
CDockablePane* pane = (CDockablePane *)pwnd;
if (pane->IsKindOf(RUNTIME_CLASS(CDockablePane)) ||
pane->IsKindOf(RUNTIME_CLASS(CPane))
&& pane->IsKindOf(RUNTIME_CLASS(CPaneFrameWnd)))
{
//將關(guān)閉消息加入該DockPane隊(duì)列,等待完成本函數(shù)后關(guān)閉
::PostMessageA(pWnd->GetPane()->m_hWnd, WM_CLOSE, 0, 0);
}
}
m_bVideoShow = TRUE;
m_bDataGridShow = TRUE;
return TRUE;
//return CMDIFrameWndEx::OnCloseMiniFrame(pWnd);
}
void CScale3DCMainFrame::OnButtonVideo()
{
if (!m_bVideoShow)
{
m_bVideoShow = TRUE;
m_wndVideoPanel.ShowPane(FALSE, FALSE, FALSE);
}
else if (m_wndVideoPanel.GetSafeHwnd())
{
m_bVideoShow = FALSE;
m_wndVideoPanel.ShowPane(TRUE, FALSE, TRUE);
}
else
{
BOOL bNameValid;
CString strPropertiesWnd;
bNameValid = strPropertiesWnd.LoadString(IDS_PROPERTIES_WND);
ASSERT(bNameValid);
if (!m_wndVideoPanel.Create(strPropertiesWnd, this,
CRect(0, 0, 200, 200),
TRUE,
ID_VIEW_PROPERTIESWND,
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN |
CBRS_RIGHT | CBRS_FLOAT_MULTI))
{
TRACE("未能創(chuàng)建%s窗口\n", strPropertiesWnd);
return;
}
m_wndVideoPanel.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_wndVideoPanel);
m_bVideoShow = FALSE;
}
RecalcLayout();
}
void CScale3DCMainFrame::OnButtonDatagrid()
{
// TODO: 在此添加命令處理程序代碼
if (!m_bDataGridShow)
{
m_bDataGridShow = TRUE;
m_wndDataGridPanel.ShowPane(FALSE, FALSE, FALSE);
}
else if (m_wndDataGridPanel.GetSafeHwnd())
{
m_bDataGridShow = FALSE;
m_wndDataGridPanel.ShowPane(TRUE, FALSE, TRUE);
}
else
{
BOOL bNameValid;
CString strPropertiesWnd;
bNameValid = strPropertiesWnd.LoadString(IDS_OUTPUT_WND);
ASSERT(bNameValid);
if (!m_wndDataGridPanel.Create(strPropertiesWnd, this,
CRect(0, 0, 200, 200),
TRUE, ID_VIEW_PROPERTIESWND,
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN |
CBRS_RIGHT | CBRS_FLOAT_MULTI))
{
TRACE("未能創(chuàng)建%s窗口\n", strPropertiesWnd);
return;
}
m_wndDataGridPanel.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_wndDataGridPanel);
m_bDataGridShow = FALSE;
}
RecalcLayout();
}5、設(shè)置視圖的標(biāo)簽標(biāo)題文字
BOOL CScale3DCChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此處通過(guò)修改 CREATESTRUCT cs 來(lái)修改窗口類或樣式
cs.style &= ~(LONG)FWS_ADDTOTITLE;
if( !CMDIChildWndEx::PreCreateWindow(cs) )
return FALSE;
return TRUE;
}void CScale3DCScaleWeightView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
CMDIChildWndEx * pFrame = (CMDIChildWndEx*)this->GetParentFrame();
CScale3DCChildFrame * pMidFrame = (CScale3DCChildFrame*)pFrame;
pMidFrame->SetWindowText(_T("稱重?cái)?shù)據(jù)區(qū)"));
// TODO: 在此添加專用代碼和/或調(diào)用基類
}6、改變視圖的背景顏色
BOOL CScale3DCScaleWeightView::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息處理程序代碼和/或調(diào)用默認(rèn)值
CRect rt;
GetClientRect(&rt);
CBrush brush;
brush.CreateSolidBrush(RGB(255, 255, 255));
CBrush * pOldBrush = pDC->SelectObject(&brush);
pDC->FillRect(&rt, &brush);
pDC->SelectObject(pOldBrush);
return TRUE;
//return CFormView::OnEraseBkgnd(pDC);
}7、在一個(gè)視圖中創(chuàng)建另一個(gè)視圖
CScale3DCMainFrame * pMainFrame = (CScale3DCMainFrame*)AfxGetMainWnd(); CScale3DCMainControlPanel2 * pPanel = &pMainFrame->m_wndMainControlPanel; pPanel->m_wndMainToolbarDlg->CreateScaleWeightView();
8、遍歷主框架中的子框架
void CScale3DCMainFrame::SearchAllMDIFrame()
{
CMDIFrameWnd *pFrame = (CMDIFrameWnd*)::AfxGetMainWnd();
if (pFrame)
{
CMDIChildWnd *pOldChildFrame = pFrame->MDIGetActive();
CMDIChildWnd *pChildFrame = pOldChildFrame;
if (pChildFrame)
{
do {
CString strCaption;
pChildFrame->GetWindowText(strCaption);
if (_T("主控界面區(qū)") == strCaption)
{
CView * pView= pChildFrame->GetActiveView();
//消息發(fā)向主控視圖
pView->SendMessage(WM_STARTSCALEWEIGHTVIEW, 0, 0);
return;
}
pFrame->MDINext();
pChildFrame = pFrame->MDIGetActive();
} while (pChildFrame != pOldChildFrame);
}
}
}
文章名稱:MFC多文檔應(yīng)用程序常用知識(shí)點(diǎn)
文章URL:http://www.chinadenli.net/article20/ishdco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、外貿(mào)建站、全網(wǎng)營(yíng)銷推廣、網(wǎng)頁(yè)設(shè)計(jì)公司、搜索引擎優(yōu)化、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)