天天看點

VC浏覽器相關的學習(一)(Single document界面)

1 MFC建立一個Single document

    第一步:Document/View architecture support要打勾,否則第六步不可選

    第六步:BaseClass改為CHtmlView

2 添加位址欄

    a 在CMainFrame添加

    CComboBoxEx m_wndAddress;

    b 在CMainFrame::OnCreate中添加,補入位址欄

    if (!m_wndAddress.Create(CBS_DROPDOWN | WS_CHILD, CRect(0, 0, 200, 120), this, AFX_IDW_TOOLBAR + 1))

{

TRACE0("未能建立位址欄/n");

return -1; // 未能建立

}

CString str;

str.LoadString(IDS_ADDRESS);

if (!m_wndReBar.Create(this) ||

!m_wndReBar.AddBar(&m_wndToolBar) ||

!m_wndReBar.AddBar(&m_wndDlgBar) ||

!m_wndReBar.AddBar(&m_wndAddress, str, NULL, RBBS_FIXEDBMP | RBBS_BREAK))

{

TRACE0("未能建立 Rebar/n");

return -1; // 未能建立

}

3 高彩工具欄

    a 在工程裡添加新的ToolBar位圖

    b 在CMainFrame::OnCreate所有工具欄建立完成之後執行:

    void CMainFrame::SetToolBar()

{

CImageList il;

CBitmap bmp;

bmp.LoadBitmap(IDB_BITMAP1);

// 長,高,顔色,位圖示志值,顔色屏蔽位

il.Create(48, 48, ILC_COLOR24, 20, 1);

il.Add(&bmp, RGB(0, 0, 0));

m_wndToolBar.SendMessage(TB_SETIMAGELIST, 0, (LPARAM)il.m_hImageList); // 設定CImageList

il.Detach();

bmp.Detach();

// 删除

if(il.GetSafeHandle())

{

il.DeleteImageList();

}

if(bmp.GetSafeHandle())

{

bmp.DeleteObject();

}

}

    c 注意:如果沒有對應的處理函數,可能會顯示出錯

4 添加事件處理函數

    在CMyView類的頁籤中添加

5 隐藏菜單欄

    在CMainFrame::OnCreate中添加:

    SetMenu(NULL);

繼續閱讀