这样的功能该怎么实现(程序扩展)-内详

这样的功能该如何实现(程序扩展)---内详


情形一:
比方说先编写好一个程序.
在菜单栏颜色项下有红,黑两个子项,即

颜色
      黑色
      红色
点击每一项,背景变成相应颜色

这个程序可以加载一个语法类似c语言的的文件,比方说*.add,
加载之后(不需要重新编译)使变成

颜色
      黑色
      红色
      绿色
点击每一项,背景变成相应颜色

比方说ida中的.idc文件,它能实现类似的功能


情形二:

这个就类似于ie加载项了


请问
以上两种实现上有什么区别,该分别如何实现?


------解决方案--------------------
情形一
词法分析即可
添加方法参考设计模式中的Decorator
不过这个模式实现的是功能添加
http://blog.sina.com.cn/u/4bfad9310100081p
我blog的解释
------解决方案--------------------
1 编辑菜单项,在菜单项事件中,重绘窗口
------解决方案--------------------
2 编辑一个菜单资源,通过加载资源改变菜单...
------解决方案--------------------
很常见的插件编写手法了