Gui nicht außerhalb des Desktops

  • Hallo,
    ich frag mal wieder was, hoffe ihr könnt mir helfen!
    Ich hab eine Gui, auf die ich was mit GDI gezeichnet hab, was sich immer verändert. (Ist eigentlich egal)
    Jetzt meine Frage:
    Kann ich die Gui zwar verschieben lassen, jedoch so das sie nicht außerhalb des Desktops bewegt werden kann? Das heißt also das kein teil der Gui
    zu keiner Zeit sich außerhalb des Desktops befindet? Gibts da einen Style oder so was?
    Durch googlen hab ich nix gefunden, weiß auch leider nicht was ich da eingeben soll...

    hoffe auf Hilfe!
    Danke im Vorraus!

  • mit wingetpos() die Position und Grösse des Fensters ermitteln und mit der Größe des Desktops abgleichen.
    Wenn pos_x kleiner null dann pos_x=0. Gleiches gilt für pos_y.
    Wenn $pos_x > @desktopwidth-breitefenster then $pos_x = @desktopwidth-breitefester, genauso für pos_y
    Fenster nun per winmove() an pos_x,pos_y verschieben.

    Wobei damit das Problem nur zur Hälfte gelöst ist. Wenn ein Fenster dein per GDI gezeichnetes Kunstwerk kurzzeitig überdeckt, oder dein Fenster minimiert wird, dann ist das GDI-Objekt auch verschwunden. Also die "Zeichnung" in einen Buffer schreiben und diesen bei jeder Bewegung des Fensters neu zeichnen erschlägt alle Problem auf ein Mal.

    ciao
    Andy


    "Schlechtes Benehmen halten die Leute doch nur deswegen für eine Art Vorrecht, weil keiner ihnen aufs Maul haut." Klaus Kinski
    "Hint: Write comments after each line. So you can (better) see what your program does and what it not does. And we can see what you're thinking what your program does and we can point to the missunderstandings." A-Jay

    Wie man Fragen richtig stellt... Tutorial: Wie man Script-Fehler findet und beseitigt...X-Y-Problem

    Einmal editiert, zuletzt von Andy (6. Juni 2010 um 13:26)