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 欢迎批评指正。

  • 相关阅读:
    输入汉字转拼音
    DBGridEh(RestoreGridLayoutIni)用法
    当选中节点的同时选中父节点
    implsments
    HTML中的post和get
    SmartUpload中文乱码
    调查平台,考试系统类型的数据收集型项目
    final
    职业生涯中12个最致命的想法
    abstract
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3041072.html
Copyright © 2011-2022 走看看