TaskLeistenButton und AppStart



  • Beim AppStart sollte der TaskLeistenButton reingedrückt sein. Isser aber nicht. Konnte zu dem Punkt noch nie was lesen oder in den Projekteinstellungen finden. Kann mir jemand sagen, wie ich das zu regeln hab?



  • Na gut. Is bei mir zwar nicht so, aber was soll's: In OnCreate der Form schreiben:

    SetForegroundWindow(Handle);
    


  • Hab den BCB3. Das wird den Unterschied machen. Fieserweise haut mir der Code eine exeption rein. Gibt's noch einen anderen Weg?



  • den hat WebFritzi meines Wissens auch 😃



  • Hab ich auch. 😉

    @Omega: Dann eben in OnShow.



  • Der Grund für die exeption ist erst mal ungeklärt. Nach dem Löschen aller Objektdateien kam sie nicht mehr.

    Im OnShow hat der Code keinen Effekt.
    Im OnCreate kommt beim Start die Meldung "Ein deaktivietes oder unsichtbares Fenster kann nicht den Focus erhalten".

    Es ist eine MDI (myNotepad). Im OnShow derApp ermittel ich mit GetCommandLine() den geklickten FileName und übergeb ihn an die Open-Routine.
    Ich hab die CodeZeile aber vor diese Routine plaziert.
    Ich muß mit der Vorgabe Form1->Visible=false starten. Sonst bekommt RichEdit im ChildWindow ein Leseproblem, das Child-Window kann nicht öffnen.

    Allerdings, die App ist nach dem Öffnen die aktive App, RichEdit im Child hat den Focus. Soweit stimmt alles. Nur der TaskleistenButton sieht das anders (kann ich ihm auch nicht verdenken). Kann da ohne TNT :p dranzukommen sein?



  • Versuch's mal mit Application->Handle statt des einfachen Handle. Letzteres ist AFAIK "nur" das Handle der Hauptform, bei BCB- (und Delphi-)Programmen gibt es aber immer noch ein unsichtbares Fenster für die eigentliche Anwendung, welches m.E. auch für den Taskbar-Button zuständig ist.

    Ungetestet. 😉



  • *Super*, dank Euch sehr. Im Verbund hat das jetzt edel geklappt. Nicht so, wie ich wollte, aber ich merx nix von den Aktionen, also top:

    Im OnCreate:

    Application->Minimize();
    Application->Restore();

    Nachrichtlich:

    "TApplication::Handle
    ...
    Hinweis
    ...Weisen Sie Application->Handle in einer EXE-Datei niemals einen Wert zu."

    Hilfe hatte Recht, es klappt nicht. :p



  • Also, wir haben eine Sache gemeinsam: Wir verstehen dich nicht, und du verstehst uns nicht! 😉 Jansen meinte:

    SetForegroundWindow(Application->Handle);
    


  • Mmmm! Das sind die 100 m Kabel, auf denen ich immer wieder steh. 🙄 Jetzt seh ich's auch. Klarer kann man es nicht sagen.

    Und... *perfekt* Ich dank euch noch mal sehr. Jetzt macht die App erst richtig Spaß. 🕶


Anmelden zum Antworten