Seite 3 von 3

Re: Ein kleiner Aktionsrahmen

Verfasst: 10.02.2012 10:03
von BSP
Hallo Rolaf.
Ich muss gestehen, ich verstehe nicht genau, was Du meinst.
Die beiden Hauptteile, die ins eigene Prg übernommen werden müssen,
sind:
- Die Structure
- Die Procedure AktionsRahmen

Alles Andere dient dem Zweck, die Funktion dar zu stellen.
Ich hatte das anfangs auch angemerkt, bis auch das der Rationalisierung zum Opfer gefallen ist. Smile.
Ich habe das inzwischen in meinem Hauptprojekt übernommen,
(inclusive den anderen Proceduren, ausser dem Sizen. Das ist bei mir umfangreicher und muss nicht durch so einen Rahmen dargestellt werden),
es funktioniert, wie es soll.

Und das ich die Übergabe der Positionen statt der Gadgets bevorzuge liegt daran, das ich auch bei meinem Hauptprg an einigen Stellen die Position berechnen muss.
So ist bei mir z.B. geplant, das der Rahmen von der aktuellen Zeile zum Button läuft.

Oder, meinst Du die
"While WindowEvent() : Wend" ?
Lässt man die Schleife für den Rahmen zu Testzwecken langsammer laufen,
z.B. um zu erkennen, ob die Koordinaten richtig gefunden werden,
dann erweisst sich diese Eventschleife als sinnvoll.
Das kann ich sogar schon bei diesem kleinen Prg erkennen.
Beim Fenstervergrössern z.B. wartet Window bei mir mit der korrekten Darstellung des Fensters,
bis der Rahmen abgearbeitet ist.
Das sieht nicht schön aus.
Darum die Eventschleife. Dann läuft alles richtig.

Gruß: BSP

Re: Ein kleiner Aktionsrahmen

Verfasst: 10.02.2012 11:06
von rolaf
Wenn das so für dich OK ist, mach es so.
Ich werde dir da nicht reinquatschen.
Ich würde es halt anders, kürzer und übersichtlicher machen.

Aber wie schon gesagt, jeder wie er mag. :allright:

Re: Ein kleiner Aktionsrahmen

Verfasst: 10.02.2012 16:31
von Nino
BSP hat geschrieben:Die Structure habe ich noch extra angelegt,
damit das auch bei Nick läuft. Smile.

[...]

Code: Alles auswählen

[...]

Structure rahmen
  x.i
  y.i
  w.i
  h.i
EndStructure
Und die beiden letzten Elemente dieser Structure sind für Breite und Höhe. :allright: Das ist in diesem Zusammenhang deutlich eleganter als Elemente für rechts und unten zu nehmen, wie ich es gemacht hatte.
Vielen Dank noch einmal v.a. für diese sehr schöne Idee!

Grüße, Nino

//edit:
Noch eine kleine Anmerkung. In der Prozedur Get_RahmenMitte() berechnest Du z.B. erst xm als halbe Breite, und danach subtrahierst Du von der Breite 2*xm. Die Breite ist dann 0, oder? :) Ich würde das so schreiben:

Code: Alles auswählen

Procedure RahmenMitte(*pos.rahmen)
   *pos\x = *pos\w / 2
   *pos\y = *pos\h / 2
   *pos\w = 0
   *pos\h = 0
EndProcedure

Re: Ein kleiner Aktionsrahmen

Verfasst: 10.02.2012 20:29
von BSP
Danke Nino.
Habs in meinem letzten Beispiel übernommen.
Keine Ahnung, warum ich manchmal so verknotet rechne. Smile.

Gruß: BSP