Fenster modal aufm Desktop



  • Hallo mal wieder,

    heut möchte ich das mein Progg auf dem Desktop modal ist also Maus und Tastatur noch beweglich aber halt nur dieses Fenster ist bearbeitbar.
    Ich glaube sowas irgendwo schonmal gelesen zu haben, hab aber leider bei bytesandmore sowie beim googln nix gefunden.
    Ich hoffe ihr könnt mir helfen. 🙂 thx



  • Hallo,

    das Problem wird wohl sein, dass dir Windows dazwischenfunkt, wenn du ausserhalb des Fensters auf den Desktop (oder anderes Fenster) klickst bzw. mit ALT-TAB zwischen den Anwendungen wechseln willst. Ich habe etwas ähnliches mal programmiert und dabei folgende Dinge gemacht:

    1. mein Programm hat vor dem Anzeigen des Hauptformulars einen Screenshot des Desktop gemacht

    2. Die Taskleiste ausgeblendet

    3. Hauptformular im Fullscreen Modus anzeigen, als Hintergrund den in 1) gemachten Screenshot benutzt

    4. ALT-TAB gesperrt

    5. das eigentliche Fenster für die Benutzereingaben modal über dem Hauptformular angezeigt.

    Leider habe ich den Code nicht mehr im Kopf, ist schon ´ne Weile her, aber eigentlich müsstest du durch google alles finden, was du dazu brauchst.

    Gruß,
    Guido



  • Nur so als Gedankenexperiment ohne irgendetwas ausprobiert zu haben:
    Man könnte doch das Handle des Desktops besorgen und ein Formular als dessen Child erstellen. Das Formular wird dann mit ShowModal angezeigt???



  • thx erstmal 👍

    @GNiewerth
    mit einem Bild dachte ich mir auch schon aber da wird wie gesagt nicht der echte Desktop angezeigt und falls da etwas am laufen ist...
    ansonsten wärs so gut, ja

    @Rostfrei[]
    mh ich hab mal ausprobiert bin aber nich weit gekommen
    das funzt jedenfalls nich:

    HANDLE h=GetDesktopWindow;
      Form1->Parent=FindControl(h);
      Form1->Hide();
      Form1->ShowModal();
    

    ich kenn bis jetzt nur child von mdi, wie geht das noch anders? 😕



  • juhu!? 🙂


Anmelden zum Antworten