IE toolbar的制作心得(一)

来源:互联网 发布:歌曲剪切软件下载 编辑:程序博客网 时间:2024/05/01 12:28

IE toolbar的制作- -

                                      

最近在着手做一款共享软件,其中要涉及到IE上的工具栏制作.
现在已初步完工,给大家分享一下经验.

关于IE toolbar的制作,在codeproject上有丰富的教程,但是
我个人感觉那里的代码量太大了,也很复杂.微软自己就有一个比较
简单的教程:KBBar(http://support.microsoft.com/kb/q246234/),
我就是照这个做的.

另外,还有两点也许值得参考:
1.工具栏的换行显示.如果工具栏比较长,这样缩在后面就不好看.
如果能在新的一行换行显示完整的工具栏,效果会好看得多.其实实现
很简单:在GetBandInfo函数中加入
  if(pdbi->dwMask & DBIM_MODEFLAGS)
  {
   pdbi->dwModeFlags = DBIMF_NORMAL | DBIMF_BREAK;// DBIMF_BREAK;//换行显示
   pdbi->dwModeFlags |= DBIMF_VARIABLEHEIGHT;
  }
即可.

2.菜单.我是用TrackPopupMenu来实现,下面有代码片断.
 CMenu pp,subpp;
 pp.CreatePopupMenu();
 subpp.CreatePopupMenu();
 pp.AppendMenu(0,ID_USERMANUAL,"User Manual");
 pp.AppendMenu(0,ID_HOMEPAGE,"Goto Homepage");
 .....
 CRect rc;
 this->GetClientRect(&rc);
 this->ClientToScreen(&rc);  
 int selection=pp.TrackPopupMenu( TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_VERTICAL|TPM_NONOTIFY|TPM_RETURNCMD,
  rc.left, rc.bottom, this, &rc);
 switch(selection)
 {
 case ID_HOMEPAGE:
  ;
 case ID_USERMANUAL:
  ;
 ......
 }
 subpp.DestroyMenu();
 pp.DestroyMenu(); 

原创粉丝点击