Bitmap topmost setzen, damit Controls nicht durchscheinen
-
Für einen Verarbeitungsstatus möchte ich meine Controls, während der
Thread arbeitet, gerne ausblenden, bzw. ein Bitmap darüber legen
(sowas wie "achtung arbeitet noch...").Problem an der Sache ist nur, dass man durch das Bitmap die Controls durch-
scheinen sieht und diese sogar noch anklicken kann
Das Anklicken kann ich ja noch sperren, theoretisch auch die Controls unsichtbar
machen, aber schöner wäre einfach das Bitmap überlagernd anzuzeigen und dann
mit SW_Hide bzw. Show ein und ausblenden zu können.Kann mir jemand sagen wie ich das Bitmap topmost mache?
-
Warum machst Du nicht einfach myCtrl.ShowWindow(SW_HIDE)?
Aber selbst dnan müsstest Du auch ein EnableWindow(FALSE) machen.
Sonst kann man manche Controls auch noch mit der Tastatur bedienen.
-
So habe ich es inzwischen dann auch gelöst. Das mit dem Bitmap ist aber
zumindest optisch eine schöne Sache. Kann man es denn topmost verankern?
-
Shoggy schrieb:
zumindest optisch eine schöne Sache. Kann man es denn topmost verankern?
Du hast Controls in Deinem Fenster. Keine Bitmaps!
Denk mal drüber nach.Wieso ist das optisch schöner als Controls zu verstecken?
Deine Contrls wären ja sogar noch bedienbar...
-
Nein nein, nicht missverstehen an dieser Stelle. Natürlich disable ich den
Dialog (und zusätzlich sogar noch einen Button), aber dennoch wäre so eine
Art Splashscreen nett, der dem Anwender zusätzlich sagen würde "da tut noch was...".
-
Dann musst Du das in ein eigenes Fenster packen. Es gibt keine losgelösten optischen Elemente wie eine Bitmap in Windows. Alles ist ein Fenster!
Daher der Name