天天看点

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);

继续阅读