【问题标题】:How to hide form from taskbar in c++ builder?如何在 c++ builder 中隐藏任务栏的表单?
【发布时间】:2012-12-14 11:17:04
【问题描述】:

我有一个简单的 VCL Forms 应用程序,如果正在使用,它会在任务栏按钮上开始显示,我想要做的是隐藏这些按钮,这意味着无论表单发生什么,这些按钮都不会出现。情况可能是显示或隐藏表单或任何其他但必须隐藏按钮的情况,该怎么做?

附:我看到这样的问题存在,但它们对我的事业不起作用。

【问题讨论】:

    标签: c++ c++builder show-hide taskbar


    【解决方案1】:

    尝试以下方法:

    • 将 MainFormOnTaskBar 设置为 false
    • 调用 ShowWindow(Application->Handle, SW_HIDE);在主窗体的 OnShow 事件处理程序中。
    • 调用 ShowWindow(Application->Handle, SW_HIDE);在主窗体的 OnActivate 事件处理程序中。

    来源:http://delphi.about.com/od/delphitips2008/qt/hide_taskbutton.htm

    【讨论】:

    • 它适用于 Delphi/C++ builder
    【解决方案2】:

    我不仅必须按照 Spook 的回答去做,而且(感谢 http://codeverge.com/embarcadero.cppbuilder.ide/builder-c++-xe-and-hiding-taskbar/1073223

    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
      Application->MainFormOnTaskBar = false;
      DWORD dwExStyle = GetWindowLong(Application->Handle, GWL_EXSTYLE);
        dwExStyle &= ~WS_EX_APPWINDOW;
        dwExStyle |= WS_EX_TOOLWINDOW;
        SetWindowLong(Application->Handle, GWL_EXSTYLE, dwExStyle);
    }
    void __fastcall TForm1::FormActivate(TObject *Sender)
    {
        ShowWindow(Application->Handle, SW_HIDE);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::CreateParams(TCreateParams &Params)
    {
        TForm::CreateParams(Params);
        Params.ExStyle &= ~WS_EX_APPWINDOW;
        Params.ExStyle |= WS_EX_TOOLWINDOW;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-26
      • 1970-01-01
      相关资源
      最近更新 更多