网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
使用目录内容建立菜单
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式

目的:根据目录内容,建立一个菜单。菜单项为目录中的文件和子目录(以弹出方式显示)。

解决方案:遍历子目录,建立一个文件路径数组。菜单项的ID是数组的索引。当用户单击某个菜单项时,从数组中读取文件路径并执行相应的操作。

细节:

首先,我们需要一个菜单。新建立的菜单将作为此菜单的子菜单。

CMenu*          pmenuFavorites=new CMenu;
pmenuFavorites->CreatePopupMenu();

然后读取目录,建立菜单

BuildFavoritesMenu(szPath, 0, pmenuFavorites);

最后,将菜单连接到已有菜单上面去

CMenu* pMenu=m_menuPopup.GetSubMenu(0);

pMenu->ModifyMenu(m_iMenuPosition,MF_BYPOSITION|MF_POPUP| MF_STRING,(UINT)(pmenuFavorites->GetSafeHmenu()),_T("动态菜单"));

pmenuFavorites->Detach();
delete pmenuFavorites;


其它的都很简单,但是建立这个菜单很麻烦

申明一个变量来存文件路径

CStringArray m_astrFavoriteURLs;

int CWorkBenchDlg::BuildMenu(LPCTSTR pszPath, int nStartPos, CMenu* pMenu)
{
    CString         strPath(pszPath);//path to start from
    CString         strPath2;//path to start from,with trailing backslash
    CString         str;//menu item text
    WIN32_FIND_DATA wfd;
    HANDLE          h;
    int             nPos;
    int             nEndPos;
    int             nNewEndPos;
    int             nLastDir;
    TCHAR           buf[INTERNET_MAX_PATH_LENGTH];
    CStringArray    astrFavorites;
    CStringArray    astrDirs;
    CMenu*          pSubMenu;

    // make sure there''s a trailing backslash
    if(strPath[strPath.GetLength() - 1] != _T(''\\''))
        strPath += _T(''\\'');
    strPath2 = strPath;
    strPath += _T("*.*");

    // now scan the directory, first for files and then for subdirectories
    //make a array of full pathnames.
    h = FindFirstFile(strPath, &wfd);
    if(h != INVALID_HANDLE_VALUE)
    {
        nEndPos = nStartPos;
        do
      
  • 上一篇资讯: 关于注册表的源程序
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号