MFC 學習 之 工具欄的添加(一)

最終實現的效果圖:
函數

步驟一:接下來在資源視圖中添加一個ToolBar工具欄(具體怎麼添加在這兒就不詳細講解了!)
添加後的ToolBar以及工具欄中每一個按鈕 所命名的ID以下:(能夠自定義,只要不重名就能夠,通常命名規則是見名知義)

那麼在資源視圖中的工具欄,咱們就製做完成了!!
步驟二:以上僅僅是進行了按鈕的添加,而按鈕上面那些相對應的 圖片尚未導入,應該將圖片導入到資源視圖中的Icon中,格式必須爲 *.ico,並對每張ICO圖片也進行ID的分配


步驟三:打開代碼添加一個 InitToolBar() 函數成員工具

BOOL CDormDlg::InitToolBar()
{
    initializeFlag  = TRUE;

    //建立ToolBar工具條
    if(!m_toolbar.CreateEx(this,TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
                           | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || 
      !m_toolbar.LoadToolBar(IDR_TOOLBAR1))
    {
        TRACE0("Failed to Create Dialog ToolBar\n");
        EndDialog(IDCANCEL);
    }
    CRect rcClientOld;
    CRect rcClientNew;

    GetClientRect(rcClientOld);
    RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0,reposQuery,rcClientNew);


    //建立位圖  CImageList
    HICON hIcon = NULL ;
    img.Create(32,32,ILC_COLOR32 | ILC_MASK,3,3);//加載圖片大小,圖片格式,圖片數量
    COLORREF co = GetSysColor(COLOR_WINDOW);
    
    img.SetBkColor(co);
    
    hIcon =(HICON) ::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_STU_ADD),IMAGE_ICON,32,32,0);//導入添加學生圖片0
    img.Add(hIcon);

    hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_STU_DEL),IMAGE_ICON,32,32,0);//導入刪除學生圖片1
    img.Add(hIcon);

    hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_STU_CHECK),IMAGE_ICON,32,32,0);//導入查詢學生圖片2
    img.Add(hIcon);


    //添加按鈕信息
    m_toolbar.GetToolBarCtrl().SetImageList(&img);
    m_toolbar.SetButtons(NULL,6);

    m_toolbar.SetButtonInfo(0,IDC_TOOLBAR_ADDSTD,TBSTYLE_BUTTON,0);
    m_toolbar.SetButtonText(0,_T("添加學生"));

    m_toolbar.SetButtonInfo(1,-1,TBSTYLE_SEP,-1);
    m_toolbar.SetButtonText(1,_T(""));

    m_toolbar.SetButtonInfo(2,IDC_TOOLBAR_DELSTD,TBSTYLE_BUTTON,1);
    m_toolbar.SetButtonText(2,_T("刪除學生"));

    m_toolbar.SetButtonInfo(3,-1,TBSTYLE_SEP,-1);
    m_toolbar.SetButtonText(3,_T(""));

    m_toolbar.SetButtonInfo(4,IDC_TOOLBAR_CHECKSTD,TBSTYLE_BUTTON,2);
    m_toolbar.SetButtonText(4,_T("查詢學生"));

    m_toolbar.SetButtonInfo(5,-1,TBSTYLE_SEP,-1);
    m_toolbar.SetButtonText(5,_T(""));

    
    //設置工具欄按鈕大小
    CRect rectToolBar;
    m_toolbar.GetItemRect(0,&rectToolBar);
    m_toolbar.SetSizes(rectToolBar.Size(),CSize(40,30));
    m_toolbar.SetSizes(CSize(80,50),CSize(40,30));    

    m_toolbar.EnableToolTips(TRUE);
//    m_toolbar.ShowWindow(SW_SHOW);
    return TRUE;
}

步驟四:而後將InitToolBar()函數添加到InitDialog()中!
以上就是全部的ToolBar工具欄的添加過程!


咱們在對InitDialog()進行一個詳細的剖析:後續this

相關文章
相關標籤/搜索