说明:该系列文章主要为flutter在windows桌面平台实战中遇到的一些坑。

1 修改logo

只需要在flutter项目/windows/runner/resources目录下替换原来的应用图标 app_icon.ico即可。

2 修改应用名称、显示位置、显示大小

修改flutter项目/windows/runner/main.cpp 文件,在函数wWinMain中修改,代码如下:


int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
                      _In_ wchar_t *command_line, _In_ int show_command) {

  if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) {
    CreateAndAttachConsole();
  }

  ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);

  flutter::DartProject project(L"data");

  std::vector<std::string> command_line_arguments =
      GetCommandLineArguments();

  project.set_dart_entrypoint_arguments(std::move(command_line_arguments));

  FlutterWindow window(project);

  //1 这里设置的是窗口的起始绘制的位置坐标
  Win32Window::Point origin(10, 10);
  
  //2 这里设置的是窗口的大小,1280表示长,720表示宽
  Win32Window::Size size(1280, 720);

  //3 这里设置应用名称,如果中文显示乱码则将编码转换为utf-8-with BOM并保存
  if (!window.Create(L"应用名称", origin, size)) {
    return EXIT_FAILURE;
  }
  window.SetQuitOnClose(true);

  ::MSG msg;
  while (::GetMessage(&msg, nullptr, 0, 0)) {
    ::TranslateMessage(&msg);
    ::DispatchMessage(&msg);
  }

  ::CoUninitialize();
  return EXIT_SUCCESS;
}

说明:如果中文显示乱码,那么就使用notpad++编辑器(或者其他可以编辑文件编码的编辑器)编辑main.cpp文件并以utf-8-with BOM编码保存。

07-27 16:57