Fenster nur sichtbar, wenn Maus darüber
-
Ich versuche derzeit, ein Fenster so zu gestalten, dass es am rechten Rand des Desktops unsichtbar ist, bis der Mauszeiger darübersteht. Nur in diesem Fall soll es angezeigt werden. Das Fenster soll auch ohne Rahmen oder Titelleiste dargestellt werden. Die Ausrichtung funktioniert, aber es gibt Probleme:
Obwohl ich im Dialog Editor das Fenster auf unsichtbar gestellt habe, wird der graue Hintergrund nach wie vor immer angezeigt. Aber ich habe so die Vermutung, dass das Fenster ohne WS_VISIBLE auch auf gar keine Nachrichten mehr reagiert. Wie mache ich es also, dass der Inhalt prinzipiell nur angezeigt wird, wenn die Maus darüber steht, beziehungsweise wie mache ich es überhaupt, dass das Fenster in allen anderen Fällen nicht angezeigt wird?
Außerdem schaffe ich es trotz der entprechenden Einstellungen im Dialog Editor nicht, den Eintrag des Fensters in der Taskleiste abzustellen. Der taucht nach wie vor immer auf.
-
ModifyStyleEx(0, WS_EX_APPWINDOW); macht dir den Eintrag in der Taskleiste weg
Ich versteh zwar net, wenn das unsichtbar is, wie der User dann wissen soll ob er mit dem Mauspfeil drüber is, leuchtet mir nicht ein.
Aber du hast schon recht, soweit wie ich weiss bekommst du keine nachrichten mehr, warum auch wenn du net sichtbar bist (also dein Window), brauchst doch das BS net unnötig nachrichten an dich zu senden.
zu deinem Mausproblem, würde ich mir nen Hook zulegen und die Mauskoordinaten checken und entsprechend reagieren
-
Wenn Du sowas wie den verschwindenden Taskbart meinst wird dort ein Schmales wenige Pixel breites Fenster angelegt. Dort wird ganz normal die Mausbewegung erkannt und das Fenster winfach ausgezoomed.
-
Der User weiß, wo das Fenster ist, aber im Normalbetrieb soll da nichts angezeigt werden, um Platz zu sparen und weil das Fenster die meiste Zeit überflüssig ist.
Das mit dem Hook hat prima funktioniert. Danke.