nån som vet hur man kan lista alla linjer som är synliga på en form i en listbox och sne kunna markera en och klicka på en knapp "ta bort" så att dom försvinner? oj glömde första biten :-) De linjer som du ritar på formen med kommandot 'Line' är inte några ja kanske men jag har en linje som heter line1 och har index värdet 0 så skapar jag nya efter som tiden går i kör läge. För att fylla listan: Jaja OK, men det framgick inte i dit inlägg (tror jag), att du använde line-kontrollen.linjer
MVH/SimonSv: linjer
mitt program skapar så många linjer som användaren vill och ja bara undra om nån vet hur man listar alla synliga linjer som finns på formen, placerar dom i en listbox så att man kan ta bort en i taget?
/SimonSv: linjer
objekt. Så du kan inte få några referenser till dem. Vidare kan du
därför inte på ett enkelt sätt åstakomma det du önskar.
Jag förslår att du skapar en klass och tildelar den egnskaperna:
x1,y1,x2,y2 och eventuellt färg, klassen skall också kunna ta
ett formulär som referens.
skapa metoden draw för att linjen skall rita ut sig själv på sin target.
Sedan kan du lagra alla dina instanser av detta linjeobject i en collection.
Nu orkar jag inte skriva mer.... Hoppas du fått nåt att fundera vidare på.
[peter.h]Sv: linjer
Så dom objekten ville jag bara lista och kunna redigera med hjälpa av index värdet.
Jag tycker att det bara borde vara nått så här:
For i = o to list1.listcount - 1
if list1.selected(i) then
form1.line(i).visible = false
end if
Next i
/SimonSv: linjer
<code>
Dim Line as Line
List1.Clear
For Each Line In Line1
List1.AddItem "Line " & Line.Index
List1.ItemData(List1.NewIndex) = Line.Index
Next
</code>
För att ta bort:
<code>
Dim i As Long
For i = 0 to List1.ListCount - 1
If List1.Selected(i) then
Unload Line1(List1.ItemData(i))
End if
Next
</code>Sv: linjer
Dåså....
[peter.h]