作者
作者还拥有个人公众号,会写一些感悟文章,知圈,二维码如下,欢迎扫描关注,关注后会弹出作者的微信,欢迎添加交流:
源码下载
官方源码地址点击此处。
点击如下按钮下载。
启动界面改装
此模块位于missionplanner项目下splash.cs模块。
1.打开模块后发现有个空白无用的picturebox1,直接删掉。删掉后运行报错,找到报错代码,把picturebox1有关的都删掉。
2.标题栏无用且与画面不协调,直接隐藏。
选中窗体,更改FormBorderStyle 为None
3.背景图片更换,背景图片为resource文件夹下的splashdark.jpg 和splash.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 的config/turning(中文的配置页)页在项目missionplanner的Utilities文件夹下的ConfigPlanner.CS里面。如下图所示:
1.更改默认主题,默认主题为BurntKermit主题,更改默认为亮色HighContrast。
找到ThemeManager.cs,找到如下代码:
private static Themes _currentTheme = Themes.BurntKermit;
更改为:
private static Themes _currentTheme = Themes.HighContrast;
主题更改后的效果:
主界面布局更改
更改菜单栏
菜单栏在missionplanner项目下的MainV2.cs 。在设计窗口中打开如下图所示:
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属性窗口,浏览,在项目文件里面找到我们刚才替换掉的图标。如下图:
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里面。找到对应的更改掉。如下图:
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
- 更改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里面。