Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16497576
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:55:37

下载本文示例代码
天极IT资讯短信服务 电脑小技巧 function check4() { if (dn.mobile.value.length!=11) { alert("手机号码不正确!"); dn.mobile.focus(); return false; } return true; } 资费:包月5元手机: 介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。(首月免费)   前言  IE浏览器作为微软Windows系统捆绑销售的一个浏览工具,用来浏览千姿百态的网页,目前它已经占据了浏览器市场的半壁江山,成为Windows用户不可或缺的工具。首先,它的界面设计的很漂亮,如扁平按纽(按钮上的图像为灰色,当鼠标放在按钮上时,按钮突起,这种状态称为手柄,并且其上的图像变得鲜艳醒目)、按钮上的文字说明以及按钮边上的小黑三角形状的下拉箭头(单击时显示下拉菜单)、工具条上的地址输入栏等,都体现了Windows2000的风格;其次,它的收藏栏可以收藏用户喜爱的网络地址,这一切都为IE的流行打下了坚实的基础。说了那么多,也许读者朋友们感觉到IE实现起来一定非常困难,其实IE也是个"纸老虎",实现它的难点主要是在界面效果和显示收藏夹上,笔者在本文中有针对性的叙述了IE界面、收藏网页的显示、网页的浏览等功能的实现,仔细看过这篇文章后,相信读者朋友们一定可以打造出一个属于自己的浏览器。本文中的代码在Windows2000、Visual C 6.0环境下编译通过,程序运行正常。程序运行界面如下:图一、浏览器的运行界面  一、浏览器的界面实现  首先启动Visual C 6.0,生成一个名为MYIE单文档项目,注意在此过程中不要选择工具条和状态条选项,这样才能更方便我们在后续工作中用代码实现Windwos2000风格的工具条、状态条;在工具条中添加地址栏;项目的视图类的基类为ChtmlView,该类的Navigate2()成员函数专门用来现实超文本格式的文档。在主框架类CmainFrame中定义CStatusBar m_wndStatusBar(状态条对象)、CToolBar m_wndToolBar(工具栏对象)、CReBar m_wndReBar(、CComboBoxEx m_wndAddress(扩展的组合框对象,用来作为地址栏)、CAnimateCtrl m_wndAnimate(动画控件,用来在工具栏上显示动画)、图像列表对象CImageList img(存放显示在工具栏上的图标)等对象。向当前项目AVI资源文件,ID标志IDR_MFCAVI,添加Bitmap(位图)资源,ID标志分别为IDB_COLDTOOLBAR、IDB_HOTTOOLBAR,分别如下所示: 图二、包含按钮图标的位图  1)IE风格工具条  IE风格界面的实现主要在主框架类的CMainFrame::OnCreate()函数中实现,它的主要思想如下: CReBar对象用来作为工具条、地址栏、动画控件的容器,CImageList对象,然后分别装载工具栏上按钮的热点图像和正常状态下显示的图像,并将该对象附给工具条对象,使之建立关联。为了显示扁平工具栏,需要用CreateEx()函数创建CToolBar对象m_wndToolBar,用ModifyStyle()函数将工具栏的风格设为扁平类型,注意这里不能用CToolBar::Create() 或 CToolBar:: SetBarStyle()设置这种新风格。CToolBar 类不支持TBSTYLE_FLAT,要解决这个问题,必须绕过CToolBar类,使用CWnd::ModifyStyle()。要将某一个工具栏按钮设置为附带有下拉按钮,可以调用SetButtonInfo()设置按钮的风格为TBSTYLE_DROPDOWN。至于按钮带有中文提示,用工具栏的SetButtonText()就可以轻松实现了。下面是实现IE风格界面的代码和注释: int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){CImageList img; //图像列表对象;CString str; //字符串对象;if (CFrameWnd::OnCreate(lpCreateStruct) == -1)return -1;if (!m_wndReBar.Create(this)) //创建CReBar对象;{ TRACE0("Failed to create rebar\n");return -1; }if (!m_wndToolBar.CreateEx(this)) //使用CreateEx()函数创建工具条对象;{ TRACE0("Failed to create toolbar\n");return -1; }//设置工具栏中的按钮最大最小尺寸;m_wndToolBar.GetToolBarCtrl().SetButtonWidth(50, 150);//设置工具栏上的按钮支持下拉箭头风格;m_wndToolBar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS);//向图像列表装载热点图像资源,IDB_HOTTOOLBAR为热点图像资源ID img.Create(IDB_HOTTOOLBAR, 22, 0, RGB(255, 0, 255));m_wndToolBar.GetToolBarCtrl().SetHotImageList(&img);img.Detach();//图象列表装载正常状态的图像资源,IDB_COLDTOOLBAR为图像资源IDimg.Create(IDB_COLDTOOLBAR, 22, 0, RGB(255, 0, 255));m_wndToolBar.GetToolBarCtrl().SetImageList(&img);img.Detach();//设置工具条为扁平风格m_wndToolBar.ModifyStyle(0, TBSTYLE_FLAT | TBSTYLE_TRANSPARENT);//设置工具条上的按钮个数为9个;m_wndToolBar.SetButtons(NULL, 9);// 装载字符串资源,设置按钮上的文本和按钮的标识号;m_wndToolBar.SetButtonInfo(0, ID_GO_BACK, TBSTYLE_BUTTON, 0);str.LoadString(IDS_BACK);m_wndToolBar.SetButtonText(0, str);m_wndToolBar.SetButtonInfo(1, ID_GO_FORWARD, TBSTYLE_BUTTON, 1);str.LoadString(IDS_FORWARD);m_wndToolBar.SetButtonText(1, str);m_wndToolBar.SetButtonInfo(2, ID_VIEW_STOP, TBSTYLE_BUTTON, 2);str.LoadString(IDS_STOP);m_wndToolBar.SetButtonText(2, str);m_wndToolBar.SetButtonInfo(3, ID_VIEW_REFRESH, TBSTYLE_BUTTON, 3);str.LoadString(IDS_REFRESH);m_wndToolBar.SetButtonText(3, str);m_wndToolBar.SetButtonInfo(4, ID_GO_START_PAGE, TBSTYLE_BUTTON, 4);str.LoadString(IDS_HOME);m_wndToolBar.SetButtonText(4, str);m_wndToolBar.SetButtonInfo(5, ID_GO_SEARCH_THE_WEB, TBSTYLE_BUTTON, 5);str.LoadString(IDS_SEARCH);m_wndToolBar.SetButtonText(5, str);m_wndToolBar.SetButtonInfo(6, ID_FAVORITES_DROPDOWN, TBSTYLE_BUTTON | TBSTYLE_DROPDOWN, 6);str.LoadString(IDS_FAVORITES);m_wndToolBar.SetButtonText(6, str);m_wndToolBar.SetButtonInfo(7, ID_FILE_PRINT, TBSTYLE_BUTTON, 7);str.LoadString(IDS_PRINT);m_wndToolBar.SetButtonText(7, str);m_wndToolBar.SetButtonInfo(8, ID_FONT_DROPDOWN, TBSTYLE_BUTTON | TBSTYLE_DROPDOWN, 8);str.LoadString(IDS_FONT);m_wndToolBar.SetButtonText(8, str);// 设置工具栏上的按钮尺寸和显示在按钮上的图标尺寸;CRect rectToolBar;m_wndToolBar.GetItemRect(0, &rectToolBar);m_wndToolBar.SetSizes(rectToolBar.Size(), CSize(30,20));//创建组合框,用来作为地址栏;if (!m_wndAddress.Create(CBS_DROPDOWN | WS_CHILD, CRect(0, 0, 200, 120), this, AFX_IDW_TOOLBAR 1)){ TRACE0("Failed to create combobox\n");return -1; }//创建动画控件对象,并打开AVI资源IDR_MFCAVI;m_wndAnimate.Create(WS_CHILD | WS_VISIBLE, CRect(0, 0, 10, 10), this, AFX_IDW_TOOLBAR 2);m_wndAnimate.Open(IDR_MFCAVI);//将工具条、地址栏、动画控件等添加到CReBar对象中;m_wndReBar.AddBar(&m_wndToolBar);m_wndReBar.AddBar(&m_wndAnimate, NULL, NULL, RBBS_FIXEDSIZE | RBBS_FIXEDBMP);str.LoadString(IDS_ADDRESS);m_wndReBar.AddBar(&m_wndAddress, str, NULL, RBBS_FIXEDBMP | RBBS_BREAK);//再次设置工具条风格,使之有工具栏提示功能;m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_FIXED);//设置状态条;if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT))){ TRACE0("Failed to create status bar\n");return -1; }…….//实现"Favorites"菜单的部分,该部分在第二部分介绍;return 0;}共3页。 1 2 3 : 天极IT资讯短信服务 电脑小技巧 function check4() { if (dn.mobile.value.length!=11) { alert("手机号码不正确!"); dn.mobile.focus(); return false; } return true; } 资费:包月5元手机: 介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。(首月免费)   前言  IE浏览器作为微软Windows系统捆绑销售的一个浏览工具,用来浏览千姿百态的网页,目前它已经占据了浏览器市场的半壁江山,成为Windows用户不可或缺的工具。首先,它的界面设计的很漂亮,如扁平按纽(按钮上的图像为灰色,当鼠标放在按钮上时,按钮突起,这种状态称为手柄,并且其上的图像变得鲜艳醒目)、按钮上的文字说明以及按钮边上的小黑三角形状的下拉箭头(单击时显示下拉菜单)、工具条上的地址输入栏等,都体现了Windows2000的风格;其次,它的收藏栏可以收藏用户喜爱的网络地址,这一切都为IE的流行打下了坚实的基础。说了那么多,也许读者朋友们感觉到IE实现起来一定非常困难,其实IE也是个"纸老虎",实现它的难点主要是在界面效果和显示收藏夹上,笔者在本文中有针对性的叙述了IE界面、收藏网页的显示、网页的浏览等功能的实现,仔细看过这篇文章后,相信读者朋友们一定可以打造出一个属于自己的浏览器。本文中的代码在Windows2000、Visual C 6.0环境下编译通过,程序运行正常。程序运行界面如下:图一、浏览器的运行界面  一、浏览器的界面实现  首先启动Visual C 6.0,生成一个名为MYIE单文档项目,注意在此过程中不要选择工具条和状态条选项,这样才能更方便我们在后续工作中用代码实现Windwos2000风格的工具条、状态条;在工具条中添加地址栏;项目的视图类的基类为ChtmlView,该类的Navigate2()成员函数专门用来现实超文本格式的文档。在主框架类CmainFrame中定义CStatusBar m_wndStatusBar(状态条对象)、CToolBar m_wndToolBar(工具栏对象)、CReBar m_wndReBar(、CComboBoxEx m_wndAddress(扩展的组合框对象,用来作为地址栏)、CAnimateCtrl m_wndAnimate(动画控件,用来在工具栏上显示动画)、图像列表对象CImageList img(存放显示在工具栏上的图标)等对象。向当前项目AVI资源文件,ID标志IDR_MFCAVI,添加Bitmap(位图)资源,ID标志分别为IDB_COLDTOOLBAR、IDB_HOTTOOLBAR,分别如下所示: 图二、包含按钮图标的位图  1)IE风格工具条  IE风格界面的实现主要在主框架类的CMainFrame::OnCreate()函数中实现,它的主要思想如下: CReBar对象用来作为工具条、地址栏、动画控件的容器,CImageList对象,然后分别装载工具栏上按钮的热点图像和正常状态下显示的图像,并将该对象附给工具条对象,使之建立关联。为了显示扁平工具栏,需要用CreateEx()函数创建CToolBar对象m_wndToolBar,用ModifyStyle()函数将工具栏的风格设为扁平类型,注意这里不能用CToolBar::Create() 或 CToolBar:: SetBarStyle()设置这种新风格。CToolBar 类不支持TBSTYLE_FLAT,要解决这个问题,必须绕过CToolBar类,使用CWnd::ModifyStyle()。要将某一个工具栏按钮设置为附带有下拉按钮,可以调用SetButtonInfo()设置按钮的风格为TBSTYLE_DROPDOWN。至于按钮带有中文提示,用工具栏的SetButtonText()就可以轻松实现了。下面是实现IE风格界面的代码和注释: int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){CImageList img; //图像列表对象;CString str; //字符串对象;if (CFrameWnd::OnCreate(lpCreateStruct) == -1)return -1;if (!m_wndReBar.Create(this)) //创建CReBar对象;{ TRACE0("Failed to create rebar\n");return -1; }if (!m_wndToolBar.CreateEx(this)) //使用CreateEx()函数创建工具条对象;{ TRACE0("Failed to create toolbar\n");return -1; }//设置工具栏中的按钮最大最小尺寸;m_wndToolBar.GetToolBarCtrl().SetButtonWidth(50, 150);//设置工具栏上的按钮支持下拉箭头风格;m_wndToolBar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS);//向图像列表装载热点图像资源,IDB_HOTTOOLBAR为热点图像资源ID img.Create(IDB_HOTTOOLBAR, 22, 0, RGB(255, 0, 255));m_wndToolBar.GetToolBarCtrl().SetHotImageList(&img);img.Detach();//图象列表装载正常状态的图像资源,IDB_COLDTOOLBAR为图像资源IDimg.Create(IDB_COLDTOOLBAR, 22, 0, RGB(255, 0, 255));m_wndToolBar.GetToolBarCtrl().SetImageList(&img);img.Detach();//设置工具条为扁平风格m_wndToolBar.ModifyStyle(0, TBSTYLE_FLAT | TBSTYLE_TRANSPARENT);//设置工具条上的按钮个数为9个;m_wndToolBar.SetButtons(NULL, 9);// 装载字符串资源,设置按钮上的文本和按钮的标识号;m_wndToolBar.SetButtonInfo(0, ID_GO_BACK, TBSTYLE_BUTTON, 0);str.LoadString(IDS_BACK);m_wndToolBar.SetButtonText(0, str);m_wndToolBar.SetButtonInfo(1, ID_GO_FORWARD, TBSTYLE_BUTTON, 1);str.LoadString(IDS_FORWARD);m_wndToolBar.SetButtonText(1, str);m_wndToolBar.SetButtonInfo(2, ID_VIEW_STOP, TBSTYLE_BUTTON, 2);str.LoadString(IDS_STOP);m_wndToolBar.SetButtonText(2, str);m_wndToolBar.SetButtonInfo(3, ID_VIEW_REFRESH, TBSTYLE_BUTTON, 3);str.LoadString(IDS_REFRESH);m_wndToolBar.SetButtonText(3, str);m_wndToolBar.SetButtonInfo(4, ID_GO_START_PAGE, TBSTYLE_BUTTON, 4);str.LoadString(IDS_HOME);m_wndToolBar.SetButtonText(4, str);m_wndToolBar.SetButtonInfo(5, ID_GO_SEARCH_THE_WEB, TBSTYLE_BUTTON, 5);str.LoadString(IDS_SEARCH);m_wndToolBar.SetButtonText(5, str);m_wndToolBar.SetButtonInfo(6, ID_FAVORITES_DROPDOWN, TBSTYLE_BUTTON | TBSTYLE_DROPDOWN, 6);str.LoadString(IDS_FAVORITES);m_wndToolBar.SetButtonText(6, str);m_wndToolBar.SetButtonInfo(7, ID_FILE_PRINT, TBSTYLE_BUTTON, 7);str.LoadString(IDS_PRINT);m_wndToolBar.SetButtonText(7, str);m_wndToolBar.SetButtonInfo(8, ID_FONT_DROPDOWN, TBSTYLE_BUTTON | TBSTYLE_DROPDOWN, 8);str.LoadString(IDS_FONT);m_wndToolBar.SetButtonText(8, str);// 设置工具栏上的按钮尺寸和显示在按钮上的图标尺寸;CRect rectToolBar;m_wndToolBar.GetItemRect(0, &rectToolBar);m_wndToolBar.SetSizes(rectToolBar.Size(), CSize(30,20));//创建组合框,用来作为地址栏;if (!m_wndAddress.Create(CBS_DROPDOWN | WS_CHILD, CRect(0, 0, 200, 120), this, AFX_IDW_TOOLBAR 1)){ TRACE0("Failed to create combobox\n");return -1; }//创建动画控件对象,并打开AVI资源IDR_MFCAVI;m_wndAnimate.Create(WS_CHILD | WS_VISIBLE, CRect(0, 0, 10, 10), this, AFX_IDW_TOOLBAR 2);m_wndAnimate.Open(IDR_MFCAVI);//将工具条、地址栏、动画控件等添加到CReBar对象中;m_wndReBar.AddBar(&m_wndToolBar);m_wndReBar.AddBar(&m_wndAnimate, NULL, NULL, RBBS_FIXEDSIZE | RBBS_FIXEDBMP);str.LoadString(IDS_ADDRESS);m_wndReBar.AddBar(&m_wndAddress, str, NULL, RBBS_FIXEDBMP | RBBS_BREAK);//再次设置工具条风格,使之有工具栏提示功能;m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_FIXED);//设置状态条;if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT))){ TRACE0("Failed to create status bar\n");return -1; }…….//实现"Favorites"菜单的部分,该部分在第二部分介绍;return 0;}共3页。 1 2 3 : 下载本文示例代码


用Visual C 打造IE浏览器用Visual C 打造IE浏览器用Visual C 打造IE浏览器用Visual C 打造IE浏览器用Visual C 打造IE浏览器用Visual C 打造IE浏览器用Visual C 打造IE浏览器用Visual C 打造IE浏览器用Visual C 打造IE浏览器用Visual C 打造IE浏览器用Visual C 打造IE浏览器用Visual C 打造IE浏览器用Visual C 打造IE浏览器用Visual C 打造IE浏览器用Visual C 打造IE浏览器
阅读(134) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~