当我的程序启动时,如何将我的主窗体设置为隐藏?

7

我正在使用Borland c++ builder。我有一个应用程序,希望在不同的窗体上按下按钮之前,主窗体保持隐藏状态。我已将主窗体的Visible值设置为false,但运行程序时仍然显示出来。有人知道该怎么做吗?


我不知道C++ Builder抽象了多少东西,但如果没有并且你有一个WinMain(),那么在CreateWindow之后查找ShowWindow调用 - 你可以将其调用为SW_SHOWMINIMIZED或类似的内容。如果你看不到WinMain,那么你就必须深入他们的框架中去寻找WinMain,并看看如何更改它。 - Rup
2个回答

7
请查看TApplication ShowMainForm属性。根据在线帮助中的说明,以下是一个示例:
  1. 将主窗体的Visible属性设置为false。

  2. 在菜单上选择项目 -> 查看源文件以显示主项目文件。

  3. 在调用Application->CreateForm之后、Application->Run之前添加以下代码:

    Application->ShowMainForm = false;

最终应该得到类似于这样的结果。
try
{
  Application->Initialize();
  Application->MainFormOnTaskBar = true;
  Application->CreateForm(__classid(TMainForm), &MainForm);
  // extra code to hide main form
  Application->ShowMainForm = false;
  Application->Run();
}

2

在C++Builder中有一个演示程序可以实现这个功能,它可以在demos\cpp\apps\twoforms目录下找到。

"First"是带有显示"Second"按钮的窗体。

按钮的OnClick事件处理程序使用new创建新窗体,然后调用ShowModal()。如果不需要模态窗体,可以使用Show()。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接