下载

0下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 VC编程实现IE风格的界面

VC编程实现IE风格的界面.doc

VC编程实现IE风格的界面

August_C
2012-06-18 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《VC编程实现IE风格的界面doc》,可适用于IT/计算机领域

VC编程实现IE风格的界面  使用过IE浏览器的朋友都知道IE界面上的扁平工具条、地址栏扁平工具栏上的按钮正常状态下为扁平态按钮上的图像为灰色当鼠标放在按钮上时按钮突起(这种状态称为手柄)并且其上的图像变得鲜艳醒目一些按钮上还有汉字说明或标有小黑三角的下拉按钮单击时显示下拉菜单这些技术是怎么实现的呢本文针对这些问题介绍了如何利用VC编程来实现它们。  IE风格的实现主要在主框架类的CMainFrame::OnCreate()实现它的主要思想如下:首先定义一个CReBar对象用以作工具条、地址栏的容器然后分别声明图像列表对象img用于存储工具栏上按钮的热点图像和正常状态下显示的图像。为了显示扁平工具栏需要用CreateEx()函数创建CToolBar对象mwndToolBar用ModifyStyle()函数将工具栏的风格设为扁平类型你不能用CToolBar::Create()或CToolBar::SetBarStyle()设置这种新风格。CToolBar类不支持TBSTYLEFLAT。要解决这个问题必须绕过CToolBar类使用CWnd::ModifyStyle()。工具栏对象调用SetButtonInfo()设置按钮的风格为TBSTYLEDROPDOWN就可以将工具栏按钮设置为附带有下拉按钮。至于按钮带有中文提示用工具栏的SetButtonText()就可以轻松实现了。下面是实现IE风格界面的部分代码和注释:intCMainFrame::OnCreate(LPCREATESTRUCTlpCreateStruct){ CReBarmwndReBar声明CReBar对象 CImageListimg声明图像列表对象 CStringstr if(CFrameWnd::OnCreate(lpCreateStruct)==)  return if(!mwndReBarCreate(this))创建CReBar对象 {  TRACE('Failedtocreaterebarn')  returnfailtocreate } if(!mwndToolBarCreateEx(this))创建工具条对象 {  TRACE('Failedtocreatetoolbarn')  returnfailtocreate } setuptoolbarproperties mwndToolBarGetToolBarCtrl()SetButtonWidth(,) file:设置工具条上按钮的最大、最小尺寸 mwndToolBarGetToolBarCtrl()SetExtendedStyle(TBSTYLEEXDRAWDDARROWS) file:工具条可以带有下拉按钮 imgCreate(IDBHOTTOOLBAR,,,RGB(,,)) file:向图像列表装载热点图像资源IDBHOTTOOLBAR为热点图像资源ID mwndToolBarGetToolBarCtrl()SetHotImageList(img)工具条装载热点图像 imgDetach() imgCreate(IDBCOLDTOOLBAR,,,RGB(,,)) file:图象列表装载正常状态的图像资源IDBCOLDTOOLBAR为图像资源ID mwndToolBarGetToolBarCtrl()SetImageList(img)将图像装入工具条 imgDetach() mwndToolBarModifyStyle(,TBSTYLEFLAT|TBSTYLETRANSPARENT) file:工具条为扁平风格 mwndToolBarSetButtons(,)工具条上有个按钮 setupeachtoolbarbutton file:以下分别对九个按钮分别设置风格和按钮汉语提示 mwndToolBarSetButtonInfo(,IDBUTTON,TBSTYLEBUTTON,) strLoadString(IDSBUTTON) mwndToolBarSetButtonText(,str) mwndToolBarSetButtonInfo(,IDBUTTON,TBSTYLEBUTTON,) strLoadString(IDSBUTTON) mwndToolBarSetButtonText(,str) mwndToolBarSetButtonInfo(,IDBUTTON,TBSTYLEBUTTON,) strLoadString(IDSBUTTON) mwndToolBarSetButtonText(,str) mwndToolBarSetButtonInfo(,IDBUTTON,TBSTYLEBUTTON,) strLoadString(IDSBUTTON) mwndToolBarSetButtonText(,str) mwndToolBarSetButtonInfo(,IDBUTTON,TBSTYLEBUTTON,) strLoadString(IDSBUTTON) mwndToolBarSetButtonText(,str) mwndToolBarSetButtonInfo(,IDBUTTON,TBSTYLEBUTTON,) strLoadString(IDSBUTTON) mwndToolBarSetButtonText(,str) mwndToolBarSetButtonInfo(,IDBUTTON,TBSTYLEBUTTON|TBSTYLEDROPDOWN,) strLoadString(IDSBUTTON) mwndToolBarSetButtonText(,str) mwndToolBarSetButtonInfo(,IDBUTTON,TBSTYLEBUTTON,) strLoadString(IDSBUTTON) mwndToolBarSetButtonText(,str) mwndToolBarSetButtonInfo(,IDBUTTON,TBSTYLEBUTTON|TBSTYLEDROPDOWN,) strLoadString(IDSBUTTON) mwndToolBarSetButtonText(,str) file:重新调整按钮的尺寸 CRectrectToolBar mwndToolBarGetItemRect(,rectToolBar)得到工具条第一个按钮的尺寸 mwndToolBarSetSizes(rectToolBarSize(),CSize(,)) file:第一个参数为按钮尺寸第二个参数为图像尺寸 file:创建一个组合框作为地址栏 if(!mwndAddressCreate(CBSDROPDOWN|WSCHILD,CRect(,,,),this,AFXIDWTOOLBAR)) {  TRACE('Failedtocreatecomboboxn')  returnfailtocreate } file:加入工具栏、地址栏 mwndReBarAddBar(mwndToolBar) strLoadString(IDSADDRESS) mwndReBarAddBar(mwndAddress,str,,RBBSFIXEDBMP|RBBSBREAK)file:定义REBARBANDINFO对象,对工具条和地址栏设置理想尺寸 REBARBANDINFOrbbi rbbicbSize=sizeof(rbbi) rbbifMask=RBBIMCHILDSIZE|RBBIMIDEALSIZE|RBBIMSIZE rbbicxMinChild=rectToolBarWidth() rbbicyMinChild=rectToolBarHeight() rbbicx=rbbicxIdeal=rectToolBarWidth()* mwndReBarGetReBarCtrl()SetBandInfo(,rbbi)设置工具栏尺寸 rbbicxMinChild= CRectrectAddress rbbifMask=RBBIMCHILDSIZE|RBBIMIDEALSIZE mwndAddressGetEditCtrl()>GetWindowRect(rectAddress) rbbicyMinChild=rectAddressHeight() rbbicxIdeal= mwndReBarGetReBarCtrl()SetBandInfo(,rbbi)设置地址栏尺寸 mwndToolBarSetBarStyle(mwndToolBarGetBarStyle()| CBRSTOOLTIPS|CBRSFLYBY|CBRSSIZEFIXED) if(!mwndStatusBarCreate(this)||  !mwndStatusBarSetIndicators(indicators,  sizeof(indicators)sizeof(UINT)))  {   TRACE('Failedtocreatestatusbarn')   returnfailtocreate  }  return }  以上代码在Windows和VisualC环境下编译通过程序运行正常有兴趣的朋友可以动手亲自实验一下。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/3

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利