Form aus Taskleiste ausblenden (oder garnicht erst einblenden ;)



  • Ich machs immer mit:
    Form1->Hide();
    bzw. dann wieder: Form1->Show();

    MfG FB



  • Bei Hide verschwindet das Fenster, ich will aber nicht das Fenster verschwinden lassen sondern nur den Eintrag in der Taskleiste... ich glaub das geht nicht so einfach mit hide()...

    aber dein Posting hat geholfen Jansen, danke 😉



  • Wenn du dein Hauptfenster als ToolWindow darstellst (kannst du zur Entwicklungszeit bei BorderStyle auswählen), dann hat das Programm keinen Eintrag in der Taskleiste und wird auch beim Programmwechsel per ALT+TAB nicht eingeblendet.

    Vielleicht hilft's ja.

    oli



  • Nein, das stimmt ebenfalls nicht... aber mein Problem ist schon gelöst.



  • und wie hast du es gelöst?



  • @Windoof:
    Du hast Recht.

    ToolWindow != ToolWindow... Das ToolWindow von dem im oben von Jansen gelinkten Beitrag auf BDBDEV.com (http://web.archive.org/web/20030624060255/www.bcbdev.com/faqs/faq4.htm) scheint nicht von derselben Art zu sein, wie das, was man beim BCB unter Borderstyle auswählen kann.
    Mit der Lösung von BCBDEV klappts (das Fenster aus Taskleiste und ALT+TAB zu entfernen), mit der einfachen Einstellung beim BCB dagegen nicht. Bleibt die Frage, was der BCB dann sonst macht außer den Rand ein bisschen kleiner und so...

    der oli



  • Blackhawk schrieb:

    und wie hast du es gelöst?

    Na Jansens Post hab ich genommen. Aber eines stimmt daran auch nicht: Die Form wird nicht aus der ALT+TAB-Leiste genommen, aber das soll sie auch nicht... nur aus der Taskleiste... und das hab ich schon hinbekommen. Danke aber für eure Mühe 👍



  • Kann mir mal jemand erklären, warum C++ so extrem umständlich ist für einfache Befehle??
    In Delphi musste man, um das Fenster UND den Eintrag in der Taskleiste verschwinden zu lassen, einfach nur

    Form1.hide;  bzw
    Form1.Visible = false;
    

    schreiben.

    Aber bei C++ muss man erst

    DWORD dwExStyle = GetWindowLong(Application->Handle, GWL_EXSTYLE);
        dwExStyle |= WS_EX_TOOLWINDOW;
        SetWindowLong(Application->Handle, GWL_EXSTYLE, dwExStyle);
    

    sowas hinschreiben .... oO ?? Warum nur.....



  • Der TaskBar-Button ggehört nicht zu einer Form, sondern zu dem versteckten Application-Fenster der Anwendung. Die Einstellungen diese Application-Fensters kann man nur per WinAPI beeinflussen.

    Ich kann mir nicht rect vorstellen, dass das in Delphi anders ist, schliesslich werden die Fenster dort von derselben VCL verwaltet.



  • Oh doch, bei Delphi ist es so, habe eben ein Programm nochmal von mir angeguckt, es ist komplett unsichtbar und besteht nur aus dieser einfachen Zeile (s. letzten Post).



  • Aufgabe war es, das Programm aus der Taskleiste zu entfernen, nicht das Fenster unsichtbar zu machen

    Form1.Visible = false;

    dürfte auch in Delphi das Fenster verschwinden lassen?


Anmelden zum Antworten