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