C++ Builder 奇怪的问题(任务栏图标不出现)?

C++ Builder bizarre issue (taskbar icon not appearing)?

我有一个应用程序,它有一个登录表单(这是主表单)和一个主表单,在登录表单填写正确信息后打开。

但是,程序图标没有出现在任务栏上。请问,为什么会这样?

我不认为这种行为有什么奇怪的。 我假设您在用户提供登录信息后隐藏了登录表单?

默认主窗体拥有任务栏:

Application->MainFormOnTaskBar = true;

所以要么制作 frmMain "main" 而不是 LoginForm 并在主窗体之前动态创建登录窗体(这将使登录窗体在任务栏上不可见)或将以下代码添加到 frmMain - 在 header:

void __fastcall CreateParams(Controls::TCreateParams &Params);

并在 .cpp 文件中:

void __fastcall frmMain::CreateParams(Controls::TCreateParams &Params)
{
  TForm::CreateParams(Params);
  Params.ExStyle   = Params.ExStyle | WS_EX_APPWINDOW;
  Params.WndParent = ParentWindow;
}

WS_EX_APPWINDOW "Forces a top-level window onto the taskbar when the window is visible."

如这篇 MSDN 文章所述

Embarcadero DocWiki.