Hallo Andy,

im realen Projekt stellen die schwarzen Punkte Router dar und graue Punkte IP Netze. Die Linien bilden die IP Adressen bzw. Interfaces. Das ganze stellt zum Schluß das Netzwerk aus der logischen IP Sicht dar. Die Punkte können infolge innerhalb des
Canvas verschoben werden und demzufolge werden die entsprechenden Linien
mitgezogen. Das funktioniert auch super. Das Thema MoveLine ist ein Workaround (stammt nicht von mir sondern hier aus dem Forum), da die Linien nicht automatisch mit dem Canvas mit wandern wie die Punkte. Alle Linien und Punkte werden beim Öffnen des Fensters aus einem Array erstellt. Wenn ich was besser machen kann, habe ich immer ein offenes Ohr. Warum denn keine Lines? Warum Canvasse oder Rectangles? Wie würde das ganze mit ContainerControls aussehen? Kannst Du ein Beispiel geben?

Klemens

Am 17.03.2009 um 00:03 schrieb Andy Fuchs:

Hi Klemens,

ich antworte Dir kurz mal direkt:

Was soll denn mit den Linien geschehen? Soll man die anklicken und
verschieben können, oder warum verwendest Du dafür Line-Controls?

Und wenn Du die natürlich beim Öffnen instanzierst, dann liegen die
logischerweise oberhalb der Scrollbars. Also machst Du eine Subklasse von
den Scrollbars und instanziierst die als letztes...
Dann liegen die oben drauf.. Oder Du verwendest ContainerControls (gibt's
aber glaub' ich nur in der Pro-Version)

Und anstatt der einzelnen Linien würde ich den Canvas so verschieben:

 Canvas1.scroll 0, Canvas1.ScrollY - me.value
 Canvas1.ScrollY = me.value

Ich würd' sowieso keine Linien, sondern Canvasse oder Rectangles nehmen.

Du brauchst Dir die Linien dann auch nicht nochmal in einem Array zu merken (die sind ja eh' schon in einem ControlArray - damit fällt der komplette
'MoveLines' code weg und beim Erzeugen ist's nur noch:

 dim i1,i2 as Integer
 dim lines as MyLine  // linie ist hier ein Rectangle mit 1 px hoch
 dim Router as MyRouter

 me.top = 10
 me.Left = 10
 for i1= 0 to 10
   lines=new myLine
   lines.top = me.top + (20*i1)
   lines.left = me.left + 100
   lines.visible = true
 next

 for i2=0 to 2
   for i1= 0 to 100
     Router=new myRouter
     Router.enabled = true
     router.visible = true
     router.left = me.Left +(i2*20)
     router.top = me.top + (i1*20)
   next
   i1=0
next


Kommt immer drauf an, was das ganze werden soll... Möglichkeiten gibt's
immer jede Menge ;-)

Grüße

andy

Übrigens: das mit iDisk und Dropbox war nur plakativ gemeint (ausserdem würde dropbox selbst meine Oma - so sie denn noch leben würde - hinbekommen
hätte ;-))




On 16.03.09 20:57, "Klemens Klarhoelter" <[email protected]> wrote:

Hi Andy,

da sind schon wieder die drei Fragezeichen...ich habe noch nie mit
iDisk, dropbox etc. gearbeitet.
Ich könnte aber auf meiner Webseite einen Link einrichten...das kenne
ich ;-)

Klemens

Am 16.03.2009 um 15:09 schrieb Andy Fuchs:

Hallo Klemens,

leg's doch auf irgendeinen Webspace (iDisk, dropbox...), dann kann
jeder der
Zeit hat mitspielen :-)

Grüße

andy


On 16.03.09 15:01, "Klemens Klarhoelter" <[email protected]>
wrote:

Hi Andy,

darf ich dir das Mini-Projekt direkt zusenden?

Klemens

Am 16.03.2009 um 14:33 schrieb Andy Fuchs:


Den Canvas kleiner machen?
Oder ein Mini-Projekt irgenwohin posten, damit man mal schauen
kann...

a.

On 16.03.09 13:18, "Klemens Klarhoelter" <[email protected]>
wrote:

Warum? Was kann ich machen?


















Mit freundlichen Grüßen

Klemens Klarhoelter-Selbst
kNetSoft UG (haftungsbeschränkt)
[email protected]
Tel: 01512 5746541













Mit freundlichen Grüßen

Klemens Klarhoelter-Selbst
kNetSoft UG (haftungsbeschränkt)
[email protected]
Tel: 01512 5746541









Antwort per Email an