博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
perl处理menu菜单项,把代码转成fbp文件格式
阅读量:5325 次
发布时间:2019-06-14

本文共 2040 字,大约阅读时间需要 6 分钟。

1.手写菜单代码,保存成文件 code.txt

    view_menu->Append(ID_CreateText, _("Create Text Control"));

    view_menu->Append(ID_CreateHTML, _("Create HTML Control"));
    view_menu->Append(ID_CreateTree, _("Create Tree"));
    view_menu->Append(ID_CreateGrid, _("Create Grid"));
    view_menu->Append(ID_CreateNotebook, _("Create Notebook"));
    view_menu->Append(ID_CreateSizeReport, _("Create Size Reporter"));
    view_menu->AppendSeparator();
    view_menu->Append(ID_GridContent, _("Use a Grid for the Content Pane"));

2. fbp文件格式, 里面的 property 值是需要修改的;

                     <object class="wxMenuItem" expanded="0">

                        <property name="bitmap"></property>
                        <property name="checked">0</property>
                        <property name="enabled">1</property>
                        <property name="help"></property>
                        <property name="id">ID_CreateText</property>
                        <property name="kind">wxITEM_NORMAL</property>
                        <property name="label">Create Text Control</property>
                        <property name="name">menuItem1</property>
                        <property name="permission">none</property>
                        <property name="shortcut">Alt+X</property>
                        <property name="unchecked_bitmap"></property>
                        <event name="OnMenuSelection">OnExitClick</event>
                        <event name="OnUpdateUI"></event>
                    </object>

3. 用perl脚本进行改写,perl脚本名字 c2fbp.pl; 

执行 perl c2fbp.pl  code.txt

运行完后,在fbp.txt文件里面就是得到的fbp格式,把它们拷贝到fbp文件对应的地方就可以 了;

----------------------------------------

#!/usr/bin/perl

use english
$num = 1;
open(fbp,'>fbp.txt');
while($line=<>)
{
    if($line =~ /\((.*),.*\"(.*)\"/)
    {
        $num++;
        print fbp qq{
                     <object class="wxMenuItem" expanded="0">
                        <property name="bitmap"></property>
                        <property name="checked">0</property>
                        <property name="enabled">1</property>
                        <property name="help"></property>
                        <property name="id">$1</property>
                        <property name="kind">wxITEM_NORMAL</property>
                        <property name="label">$2</property>
                        <property name="name">m_menuItem$num</property>
                        <property name="permission">none</property>
                        <property name="shortcut">Alt+X</property>
                        <property name="unchecked_bitmap"></property>
                        <event name="OnMenuSelection">OnExitClick</event>
                        <event name="OnUpdateUI"></event>
                    </object>};
    }
}

 

 

 

 

 

 

转载于:https://www.cnblogs.com/alanxiong/p/3612737.html

你可能感兴趣的文章
css文本溢出显示省略号
查看>>
git安装和简单配置
查看>>
面向对象:反射,双下方法
查看>>
鼠标悬停提示文本消息最简单的做法
查看>>
课后作业-阅读任务-阅读提问-2
查看>>
面向对象设计中private,public,protected的访问控制原则及静态代码块的初始化顺序...
查看>>
fat32转ntfs ,Win7系统提示对于目标文件系统文件过大解决教程
查看>>
Awesome Adb——一份超全超详细的 ADB 用法大全
查看>>
shell cat 合并文件,合并数据库sql文件
查看>>
Android 将drawable下的图片转换成bitmap、Drawable
查看>>
介绍Win7 win8 上Java环境的配置
查看>>
移动、联通和电信,哪家的宽带好,看完你就知道该怎么选了!
查看>>
Linux设置环境变量的方法
查看>>
构建自己的项目管理方案
查看>>
利用pca分析fmri的生理噪声
查看>>
div水平居中且垂直居中
查看>>
epoll使用具体解释(精髓)
查看>>
AndroidArchitecture
查看>>
安装Endnote X6,但Word插件显示的总是Endnote Web"解决办法
查看>>
python全栈 计算机硬件管理 —— 硬件
查看>>