zoukankan      html  css  js  c++  java
  • 更新 VisualFC 0.82 使其正确列举出所有菜单项 ID

    更新 VisualFC 0.82 使其正确列举出所有菜单项 ID

    VisualFC 一个非常不错的 WTL 编程辅助工具,能大大降低你的一些重复劳动,提高效率。

    WTL ClassWizard: Message Notify Command DialogResize DDX/DDV UpdateUI DialogFont

    WTL AppWizard: Generic AppWizard for WTL Project (for VS60/2003/2005/2008)

    WinxGUI ClassWizard: Event Notify Command DialogResize DDX/DDV UpdateUI DialogFont

    大家可以访问 http://code.google.com/p/visualfc/ 

    How to get help?

    visualfc bolg : http://blog.csdn.net/visualfc/

    最近,正在学习 WTL GUI 编程,用了VisualFC 0.82, 感觉功能很实用。

    但使用中发现,美中不足的是,VisualFC 0.82 不能列举出包含在弹出菜单中子弹出菜单中菜单项 ID。

    如下图 Word 中 文件 菜单下 发送 子弹出菜单中 菜单项



    好在 ViualFC 是开源项目,在发送求救邮件到 visualfc@gmail.com 后无回应后,我们可以自行更新源代码,改善不足。

    具体修改如下:

    1, ClassWizard\VFC_Core\resources\ResMenu.cpp ResMenu.h 增加如下函数

    void CResMenu::ListMenuItem( CAtlArray< ResMenuItem > & arrayMenuItem )
    {
    	for( size_t i = 0; i < m_vItems.GetCount(); ++i )
    	{
    		ResMenuItem newitem = m_vItems.GetAt(i);
    		if ( ! newitem.m_ID.IsEmpty() )
    		{
    			arrayMenuItem.Add( newitem );
    		}
    	}
    
    	for( size_t j = 0; j < m_SubMenus.GetCount(); ++j )
    	{
    		CResMenu subMenu = m_SubMenus.GetAt(j);
    		subMenu.ListMenuItem( arrayMenuItem );
    	}
    }

    2,修改 ClassWizard\VFC_Core\codeparser.h  中的 class codeparser

    	template <typename FUNC>
    	bool EnumResMenuItem(const CResMenu * menu, FUNC & Process)
    	{
    		CResMenu * pMenu = ( CResMenu * ) menu;
    		CAtlArray< ResMenuItem > arrayMenuItem;
    		pMenu->ListMenuItem( arrayMenuItem );
    		for( size_t i = 0; i < arrayMenuItem.GetCount(); ++i )
    		{
    			Process( & arrayMenuItem.GetAt(i) );
    		}
    		return true;
    	}

    然后重新编译(我用的是 VC2003 + WTL81 ), 用得到的新 VFC_Core.dll 替换旧的。

    好了,工作正常。

    我把更新后的 VisualFC 上传到 https://github.com/ywx/VisualFC 欢迎批评指正。

  • 相关阅读:
    docker-compose运行nginx
    docker后台持续运行
    docker-compose运行tomcat
    集群session解决方案
    docker运行mysql
    docker运行svn
    mongodb数据的导出和导入
    mongodb副本集的docker化安装
    grafana使用json数据源监控数据
    docker化安装grafana
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3041072.html
Copyright © 2011-2022 走看看