Hallo,
ich hab' mir dein Projekt angesehen.
Ich verstehe nicht, warum die Punkte mit dem Canvas mitwandern, die Linien aber nicht. Aber wenn du schon die Linien in einer eigenen Routine innerhalb des Canvas verschiebst, dann kannst du das mit den Punkten ebenso machen. Das hätte den Vorteil, dass du dein Canvas kleiner machen kannst und zwar so, dass es die Scrollbars nicht überlagert.
bestens, Christian Hahn.

----- Original Message ----- From: "Klemens Klarhoelter" <[email protected]>
To: "REALbasic NUG German" <[email protected]>
Sent: Tuesday, March 17, 2009 1:46 AM
Subject: Re: canvas und Scrollbalken


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