Mission Planner 二次开发之界面改装笔记

文章目录

    • 启动界面改装
    • 主界面布局更改
    • 更改菜单栏
      • 更改HUD
    • 关闭硬件更新提示
    • 导航界面
    • 软件配置界面
    • 下载固件模块

启动界面改装

Mission Planner 二次开发之界面改装笔记_第1张图片

此模块位于missionplanner项目下splash.cs模块。
1.打开模块后发现有个空白无用的picturebox1,直接删掉。删掉后运行报错,找到报错代码,把picturebox1有关的都删掉。
2.标题栏无用且与画面不协调,直接隐藏。
选中窗体,更改FormBorderStyleNone
3.背景图片更换,背景图片为resource文件夹下的splashdark.jpgsplash.jpg 文件。对应连个颜色主题。更换图片,保存文件名,重新编译运行即可。
4.更改版本号,版本号直接从Application.ProductVersion 读取的,所以要更改mission planner的项目属性。右击MissionPlanner项目,点击属性,在Package选项页里面更改Package version 的值即可。
5.更改作者,直接在设计窗口更改by Michael Oborne的文本即可。
6.更改任务栏图标,图标存储在项目文件夹下,直接更换mpdesktop.ico即可,文件名不要更换。
7.将背景图片的BackgroundImageLayout 改为Stretch,方便填充图片。
8.更改完后感觉标题栏显得多余,删掉。选中Form,更改FormBoarderStyle属性为None,标题栏即隐藏。
9.因归属权问题,将启动界面隐藏。找到MissionPlanner项目下的Program.cs,将“Splash.Show();”一行注释掉,如下
更改前代码段:

            string strVersion = File.Exists("version.txt")
                ? File.ReadAllText("version.txt")
                : System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
            Splash.Text = name + " V" + Application.ProductVersion;//+ " build " + strVersion;

            Splash.Show();

            Application.DoEvents();
            Application.DoEvents();

更改为

            string strVersion = File.Exists("version.txt")
                ? File.ReadAllText("version.txt")
                : System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
            Splash.Text = name + " V" + Application.ProductVersion;//+ " build " + strVersion;

 //           Splash.Show();

            Application.DoEvents();
            Application.DoEvents();


注意 更换图标或图片后,编译前要先清理下项目,再进行编译。
Mission Planner 二次开发之界面改装笔记_第2张图片

##主界面更改
mission planner 的config/turning(中文的配置页)页在项目missionplannerUtilities文件夹下的ConfigPlanner.CS里面。如下图所示:
Mission Planner 二次开发之界面改装笔记_第3张图片
1.更改默认主题,默认主题为BurntKermit主题,更改默认为亮色HighContrast
找到ThemeManager.cs,找到如下代码:

        private static Themes _currentTheme = Themes.BurntKermit;

更改为:

        private static Themes _currentTheme = Themes.HighContrast;

主题更改后的效果:
Mission Planner 二次开发之界面改装笔记_第4张图片

主界面布局更改

更改菜单栏

菜单栏在missionplanner项目下的MainV2.cs 。在设计窗口中打开如下图所示:
Mission Planner 二次开发之界面改装笔记_第5张图片
1.隐藏最右侧的ARDUPILOT菜单,选中该空间区域后,将Visible属性改为False
2.隐藏DONATE菜单。同上。更改后发现并未隐藏。所设属性被程序代码覆盖,更改MainV2.cs文件下的如下代码:

            MenuSimulation.Visible = DisplayConfiguration.displaySimulation;
            MenuTerminal.Visible = DisplayConfiguration.displayTerminal;
            MenuHelp.Visible = DisplayConfiguration.displayHelp;
            MenuDonate.Visible = DisplayConfiguration.displayDonate;

更改为:

            MenuSimulation.Visible = false;
            MenuTerminal.Visible = false;
            MenuHelp.Visible = false;
            MenuDonate.Visible = false;

3.如上例所示,将Help按钮一并隐藏。
4.如上例所示,将Terminal按钮隐藏。
5.如上例所示,将Simulation按钮隐藏。
6.将菜单栏选项按钮改为仅图标,将文字取消。选中要更改的图标,将其DisplayStyle属性由ImageAndText改为Image。相同方法将所有菜单栏按钮都设置为仅图像。
7.更改菜单栏按钮图标,其图标在resource文件夹下,找到图标,直接替换。将默认控件图标在设计窗口替换,选中图标,在属性里的Image属性窗口,浏览,在项目文件里面找到我们刚才替换掉的图标。如下图:
Mission Planner 二次开发之界面改装笔记_第6张图片
8.更改窗体标题,其直接从MissionPlanner属性窗口里更改,在Package页下。更改Program.cs文件夹下如下代码:

            name = "Mission Planner";

更改为

            name = "Flotilla";

再找到同文件下面的如下代码:

            Splash.Text = name + " " + Application.ProductVersion + " build " + strVersion;

更改为

                        Splash.Text = name + " V" + Application.ProductVersion;//+ " build " + strVersion;

9.鼠标放置在菜单栏图标上之后会出现提示字符如“Flight Data”/“Flight Planner”。将这两个改为Boat Status Navigation Software Config Hardware Config。找到MainV2.cs的设计窗体,选中要更改的控件,在ToolTipText里面更改。其它同理。将中文的对应提示也改掉,其在MissionPlanner下面的MainV2.cs里面的MainV2.zh-Hans.resx里面。找到对应的更改掉。如下图:
Mission Planner 二次开发之界面改装笔记_第7张图片
10.更改菜单栏图标位置。选中菜单栏图标,更改其Alignment属性。
11.中间太空洞,添加企业图标,将被隐藏的ArduPilot图标更改为visible,然后去resource文件夹下找到相应图标改为企业图标。
12.点击企业图标弹出企业网页,在MainV2.cs找到如下代码:

        private void MenuArduPilot_Click(object sender, EventArgs e)
        {
            try
            {
                System.Diagnostics.Process.Start("http://ardupilot.org/?utm_source=Menu&utm_campaign=MP");
            }
            catch
            {
                CustomMessageBox.Show("Failed to open url http://ardupilot.org");
            }
        }

更改为:

        private void MenuArduPilot_Click(object sender, EventArgs e)
        {
            try
            {
                System.Diagnostics.Process.Start("http://www.laureltechnologies.com/");
            }
            catch
            {
                CustomMessageBox.Show("Failed to open url http://www.laureltechnologies.com/");
            }
        }

菜单栏更改后的界面如下:
这里写图片描述

更改HUD

  1. 更改HUD背景,首先添加hud背景图片至resource,将所需PNG格式的背景图片保存至resource文件夹下,更改其名称为“hud.png”。找到MissionPlanner工程下面的Resources.resx双击,选择“Add Existing File…”,找到你要添加的hud.png,确定之后保存就可以了。在MissionPlanner下面GCSViews下面 FlightData.cs里面找到* public FlightData()*函数,在其最后一行添加代码。最后的代码片段如下:
            float gspeedMax = Settings.Instance.GetFloat("GspeedMAX");
            if (gspeedMax != 0)
            {
                Gspeed.MaxValue = gspeedMax;
            }

            MainV2.comPort.ParamListChanged += FlightData_ParentChanged;
            

在后面添加一行代码,添加完后如下:

            float gspeedMax = Settings.Instance.GetFloat("GspeedMAX");
            if (gspeedMax != 0)
            {
                Gspeed.MaxValue = gspeedMax;
            }

            MainV2.comPort.ParamListChanged += FlightData_ParentChanged;
            hud1.bgimage = global::MissionPlanner.Properties.Resources.hud;

关闭硬件更新提示

MainV2.cs里面,找到如下代码

                                if (ver2 > ver1)
                                {
                                    Common.MessageShowAgain(Strings.NewFirmware + "-" + item.name,
                                    Strings.NewFirmwareA + item.name + Strings.Pleaseup);
                                    break;
                                }


更改为

                                if (ver2 > ver1)
                                {
                                    //Common.MessageShowAgain(Strings.NewFirmware + "-" + item.name,
                                    //    Strings.NewFirmwareA + item.name + Strings.Pleaseup);
                                    break;
                                }


导航界面

1.将导航图标换为船只。resource文件夹下找到原图标,直接更换。

软件配置界面

软件配置界面在SoftwareConfig.cs文件下。

下载固件模块

MissionPlanner下面GCSViews文件夹下ConfigurationView文件夹下ConfigFirmware.cs里面。
Mission Planner 二次开发之界面改装笔记_第8张图片

你可能感兴趣的:(C#,Mission,Planner)