sp; ++nLastDir;
}
delete pSubMenu;
}
} while(FindNextFile(h, &wfd));
FindClose(h);
}
return nEndPos;
}
好了,菜单建立完了。万事大吉?没有。还要写命令处理函数。
afx_msg void OnMenu(UINT nID)
{
ShellExecute(NULL,NULL,m_astrFavoriteURLs[nID-0xe00],NULL,NULL,SW_SHOWDEFAULT);
}
和消息映射
……
//}}AFX_MSG_MAP
ON_COMMAND_RANGE(0xe00, 0xfff, OnMenu)
END_MESSAGE_MAP()
这里我使用了0xe00到0xfff作为命令ID的范围,所以最多有512个文件菜单项(够用吗?不够用自己写一个数好了)。因为通常命令的ID大于327xx,所以不会和其他菜单冲突(倒是可能会和按钮ID冲突,自己注意一下资源ID范围就OK啦)。
好了,编译,运行,通过!
唯一的遗憾是没有文件的图标。由于我对操作系统不是很熟悉,不知道怎么才能得到文件的图标并画到菜单上面去。欢迎各方高人指教!
在Windows ME和Visual C++6 SP5下测试通过。