Fenster am Seitenrand verstecken

    Fenster am Seitenrand verstecken

    Hallo,

    Ich hab eine Frage,

    jeder kennt diese Programme, die sich am Bildschirmrand verstecken und erst wenn man mit dem Mauszeiger in die Nähe Kommt, eine kleine Aktivität zeigen.

    Ich möchte ein Programm entwickeln, welches mit Windows-Start startet (trivial),

    Nun soll man es nicht dauerhaft sehen können, sondern erst wenn man es braucht, dann geht man mit der Maus zum oberen Bildschirmrand, dabei taucht ein kleiner Reiter auf, auf welchen man klickt und dann ein Fenster erscheint ....

    Ich hab vor langer Zeit Programmiert und will keinen Quellcode. Ich brauche Hilfe, in welche Richtung ich dabei arbeiten soll, gibt es da Komponenten, wie nennt man sowas? Mir fehlen da mehr die Vokabeln, wie Programmierkenntnisse

    Mir reichen eigentlich nur die Fachbegriffe, nach denen ich suchen kann.


    Ich danke für jede Hilfe
    Hi Ozoras

    Ozoras schrieb:

    sondern erst wenn man es braucht, dann geht man mit der Maus zum oberen Bildschirmrand

    Wieso zum oberen Bildschirmrand? Wenn in der ProjektUnit (Da, wo alle Fenster und Units aufgelistet sind und sich die ganzen FormCreate-Aufrufe befinden) MainformOnTaskBar True ist, wird dein Programm zur Laufzeit in der Taskleiste angezeigt, auch wenn deine Mainform.Visible False ist.

    Gruss
    Delbor
    roase.ch/

    Was wirklich zählt, ist Intuition. Albert Einstein

    ________________

    Delbor alias Zoran
    Interessanter Einwand,

    Klar dürfte das Programm auch in der Taskbar nicht sichtbar sein ... oder von mir aus, kann es das auch sein ... das wäre ein Problem, welches ich selber lösen kann.

    Gibt es den einen Weg, das ein Programm "im oberen Bildschirmrand verschwindet" und erst wenn man in den Bereich kommt, sich erkennbar macht?
    Und was ist der Sinn dieses 'Versteckspiels'?


    Eigentlich gar keiner. und wenn man weiter liest bei mir kommt dann auch

    Klar dürfte das Programm auch in der Taskbar nicht sichtbar sein ... oder von mir aus, kann es das auch sein ...


    Es soll einfach für den Anwender nicht störend sein, aber in den neureren Windows Verisonen ist die taskbar sowieso nicht mehr so störend
    Nunja, der unelegante Weg wäre, über einen Timer permanent die Mausposition abzufragen und bei Nähe dann (wieder per Timer) langsam Dein Formular einzublenden. Eine elegantere Alternative zum ersten Timer wäre ein Maushook, das erspart das Polling.
    10 Minuten Nachdenken ersparen oftmals 10 Stunden Fehlersuche.
    Weil es dann auch BorderStyle bsNone haben sollte, da das MouseLeave auch ausgelöst wird, sobald man in die Titelzeile fährt. Blöd, wenn man dann das Fenster über das Systemmenü/die BorderIcons schließen will.
    10 Minuten Nachdenken ersparen oftmals 10 Stunden Fehlersuche.
    Die BorderIcons kann man in so einem Fall (=bsNone) doch einfach nachbauen, wenn man sie wirklich braucht. Und den BorderStyle bsNone kann man beibehalten, den muß man nicht zwangsläufig ändern, nur weil das Formular sichtbar ist. Wenn man dennoch unbedingt einen Rahmen haben muß, nimmt man eben ein TPanel (alClient) und gibt dem einen Rahmen.

    Man könnte aber auch eine "Systemtray-Anwendung" machen und im dortigen Menü die Kontrolle (Sichtbarkeit usw.) einbauen, so wie man das z.B. von Virenscannern kennt.
    Ich sag doch, bsNone sollte man dann auch tunlichst beibehalten, da die BorderIcons und das Systemmenü so gut wie nicht mehr zu gebrauchen sind. Was man aber wie nun am besten macht, hängt IMO davon ab, was genau man eigentlich erreichen will.
    10 Minuten Nachdenken ersparen oftmals 10 Stunden Fehlersuche.

    DeddyH schrieb:

    Ich sag doch, bsNone sollte man dann auch tunlichst beibehalten, da die BorderIcons und das Systemmenü so gut wie nicht mehr zu gebrauchen sind.

    Stimmt, vollkommen richtig :thumbup: Da hatte ich vermutlich leichte Schwierigkeiten mit dem Textverständnis irgendwie ... sorry :saint:

    DeddyH schrieb:

    Was man aber wie nun am besten macht, hängt IMO davon ab, was genau man eigentlich erreichen will.

    Und da ist nun wieder der TE gefragt ... ::)
    Ich sehe drei Möglichkeiten.

    1. Über einer abfgrage der Mausposition, wenn das Programm versteckt ist.
    2. Wie es schon S.Simon gesagt hat.
    3. Oder über eine Zusaätzliches Fenster das immer im Vodergrund ist.
    Wie ich es gemacht habe. Nagut das mit dem anzeigen und das Verstecken in der Taskleiste muss noch gemacht werden.

    Gruß vom Nixsager
    Dateien
    Lieber ein stadtbekannter Säufer, als ein anonymer Alkoholiker!