Eigenes Betriebsystem

  • Beitrag von McKay (5. März 2009 um 19:38)

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Brauchne Idee, bin blöd!
    Wie kann ich ein Fenster nach links hin vergrößern?
    Kann mir wer nen Ansatz geben? Ich komm nich auf die Koordinaten- und Größenberechnung...
    wenn mans nach rechts machen will, gehts einfach so:
    Me.Size = New Size(MousePosition.X - Me.Location.X, Me.Height)
    Aber nach Links? Da müsste man die Location verschieben, und die Größe plus die Anzahl Pixel die das Fenster verschoben wurde... aber wie berechnen?

  • Du merkst dir vor der Größenänderung die Koordinaten der unteren (rechten) Fensterecke. Nun errechnest du die Fenstergröße aus der Mausposition beim Verschieben und der Ecke. Das Fenster wird immer zum Mauszeiger hin verschoben.

  • Zitat von YAL

    Du merkst dir vor der Größenänderung die Koordinaten der unteren (rechten) Fensterecke. Nun errechnest du die Fenstergröße aus der Mausposition beim Verschieben und der Ecke. Das Fenster wird immer zum Mauszeiger hin verschoben.


    Somit ist das nach links verschieben speicherintensiver, weil eine Koordinate gemerkt werden muss? :D

  • Zitat von Pac-Man

    Somit ist das nach links verschieben speicherintensiver, weil eine Koordinate gemerkt werden muss? :D


    Nö, Windows kehrt beim nach links vergrößern einfach die Koordinaten um. Dann ist 0,0 rechts unten statt links oben ;)
    Das ist doch total egal die eine Koordinate :D

  • Zitat von huttERic


    Nö, Windows kehrt beim nach links vergrößern einfach die Koordinaten um. Dann ist 0,0 rechts unten statt links oben ;)
    Das ist doch total egal die eine Koordinate :D


    Nur rechnerisch. Aber ich kann das nicht umdrehen, oder doch? Ich weiß nur wie das in Graphics-Zeugs geht.

  • Zitat von YAL

    Auf ein paar bytes mehr im speicher kommts doch nicht an?


    Nein, das nicht. Find's nur witzig, dass das nur bei links passiert.
    Hab den Code aber immer noch nich raus (iwie zu blöd).

  • Zitat von YAL

    Auf ein paar bytes mehr im speicher kommts doch nicht an?


    Durch Leute, die so denken, wie du, enstehen so fette Betriebssysteme, wie Windows Vista. Wir lernen in der Schule , alles so kompakt, wie möglch zu Programmieren.

  • Zitat von Benjamin92


    Durch Leute, die so denken, wie du, enstehen so fette Betriebssysteme, wie Windows Vista. Wir lernen in der Schule , alles so kompakt, wie möglch zu Programmieren.


    Mach es besser.

  • Zitat von Benjamin92


    Durch Leute, die so denken, wie du, enstehen so fette Betriebssysteme, wie Windows Vista. Wir lernen in der Schule , alles so kompakt, wie möglch zu Programmieren.

    Übertreib mal nicht. Auf die Variable kommt's wirklich nicht an.

  • Pragmatik hilft beim Programmierern selten weiter - hier macht aber Speicher sparen Sinn -> Die Variable ist völlig unnötig, und macht Code unübersichtlicher - und braucht ein paar Bytes mehr Speicher. Denn es geht ohne einiges einfacher und übersichtlicher. Der Speichervorteil ist nebensächlich.

    Mein Vorschlag:
    Erst das Fenster vergrössern (Unterschied Maus <-> Fenster-Position + aktuelle Breite)

    Me.Size = New Size(Me.Width + (Me.Location - MousePosition.X).X, Me.Height);

    Danach das Fenster verschieben (kann kein VBasic, Code ist geraten):

    Me.Location(MousePosition.X, Me.Location.Y);

    Einmal editiert, zuletzt von gandro (6. März 2009 um 18:51)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!