Dialog unsichtbar starten



  • greetz!
    Ich habe einen Dialog im Vs ressource Editor eingebunden und sichtbar ist per default auf false. Trotzdem wird der Dialog sofort angezeigt. Ich starte diesen mit DialogBox. Natürlich kann man ihn mit ShowWindow verstecken, aber wo soll ich das machen? in WM_INITDIALOG funktioniert das wohl nicht, weil der Dialog da noch nicht da ist, und außerhalb sieht man den Dialog dann kurz aufblitzen.
    Wäre sehr dankbar für Hilfe!!



  • ich bin jetzt zwar nicht so fitt auf ner dialogbox, erlich gesagt hab ich die noch nie genutzt, aber kuck mal ob du nicht an den style der dialogbox kommst und enzieh ihr WS_VISIBLE. und setze den style dann neu.



  • workaround für neuere Windows...

    ExStyle auf WS_EX_LAYERED setzen (geht auch per SetWindowLong/SetWindowLongPtr)
    mit SetLayeredWindowAttributes die Transparenz auf 100 setzen.
    damit ist das Fenster invisible und kann auch nicht angeklickt werden.

    um es zu zeigen dann später einfach per SetLayeredWindowAttributes mit Transparenz von 0 wieder sichtbar machen.

    den ersten Teil kannst du auch in WM_INITDIALOG machen.
    ich hab auf ähnliche Weise einen Einblendeffekt umgesetzt und da funktioniert das
    (Am Anfang erscheint kein fenster und es wird langsam sichtbar)

    ansonsten...
    du kannst im Resource-Editor Sichtbar auf False setzen.
    allerdings glaube ich, dass DialogBox das einfach ignoriert...
    zumindest meine ich mich erinnern zu können, dass das bei mir nicht geklappt hat.

    allerdings kannst du den Dialog ja auch per CreateDialog erstellen und von Hand
    eine Nachrichtenschleife implementieren.
    dann soltle es gehen mit der Einstellung im Resource Editor.

    MfG DrakoXP



  • danke DrakoXP das Transparent ist ne super idee!! 😃 😃


Anmelden zum Antworten