Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Visual Basic 6.0 / VBA » Label Problem

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.06.2004, 23:20 Uhr
~ENc0der
Gast


hi,

ich bin dabei eine eigne listbox zu programmieren mit picturebox und label..was ich bereit programmiert habe ist folgendes:
-klonen der labels sprich einträge
-löschen der selektieren einträge
-komplette liste löschen
-scrollen
was ich aber noch proggen muss is:
-lücke von selektierten gelöscheten eintrag schliesen
-hoch und runter rücken proggen
-und mein folgendes prob:
nun..das entladen des labels funktioniert ja..da ich aber jetz immer beim label klick die HG farbe aktualisiere und das angeklickte mit einer farbe versehe wird ja bei der hintergrund fraben aktualisierung, immer von 1 bis ubound gezählt wenn jetz aber in der schleife die drei fehlt (index nur mal als bsp) meldet er mir dann den fehler das es den index nich gibt etc. habt ihr eine möglichkeit bzw. idee solch einen fehlenden eintrag inna schleife zu überspringen??

hier mal der code


Visual Basic:
Private Sub Label1_Click(Index As Integer)

On Error Resume Next

  Dim I As Integer

    xSave = Index

        For I = 0 To Label1.UBound'alle labels zählen und

            Label1(I).BackColor = &HF3E0D6'HG Farbe Aktualisieren blos hier kommt dann der fehler da ja ein Index fehlt :((

        Next I

    With Label1(Index)

        .BackColor = &HDAB194'Angeklickten label mit Farbe versehen

           Text1 = .Caption

        Text1.SelLength = Len(Text1)

    End With

If Label1(Index).BackColor = &HDAB194 And Klick Then

    Unload Label1(Index)'Löschen etc

End If

xErr:

    Exit Sub

End Sub



wäre fätt wenn irh hlfen könntet :)

mfg

encoder


Bearbeitung von Pablo:

VB Tags gesetzt


Dieser Post wurde am 24.06.2004 um 23:53 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.06.2004, 23:54 Uhr
Pablo
Supertux
(Operator)


Ich würde sagen

Visual Basic:
For I = 0 To Label1.UBound - 1



weil man von 0 bis n-1 zählt.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.06.2004, 19:06 Uhr
~encoder
Gast


danke für die antwort aber er meldet jetz fehler das es vom gelöschten label den index nicht mehr gibt:

For I = 1 To Label1.UBound - 1
Label1(I).BackColor = &HF3E0D6'hier tritt fehler auf (Index exositeirt nicht)
Next I

schient ein verdammtes problem zu sein habt ihr cracks noch ne andere lösung?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.06.2004, 19:14 Uhr
Pablo
Supertux
(Operator)


Ich verstehe nicht ganz, was du machen willst? Meldet Label1(I).BackColor=... von Anfang an oder erst am Ende?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 25.06.2004 um 19:14 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.06.2004, 19:40 Uhr
~encoder
Gast


ja ..weil wenn man inner normalen listbox nen eintrag anklickt färbt sich dieser ja anders und die anderen bleiben in weiss..wenn ich die schleife also nich hätte und ein label anklicke färbt sich dieser ind die dementsprechende eingestelle auswahlfarbe...klick ich jetz den nächsten an färbt sich auch dieser in die ausgewählte farbe somit sin zwei ausgewählt in der farbe, das darf es aber nicht..darum muss ich immer die hg farbe aktualisieren damit immer nur einer "ausgewählt" sein darf..ne andere methode weis ich leider net
..und da entsehen solche probs
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
26.06.2004, 18:30 Uhr
~Stoneheart
Gast


Füge einfach folgende Anweisung direkt unter der For-Anweisung ein:


Visual Basic:
if i=3 then i=i+1



Da wird der Zähler einfach um 1 weitergesetzt und der Fehler taucht bestimmt nicht noch einmal auf.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
26.06.2004, 18:35 Uhr
~Stoneheart
Gast



Zitat:
~Stoneheart postete
Füge einfach folgende Anweisung direkt unter der For-Anweisung ein:


Visual Basic:
if i=3 then i=i+1



Da wird der Zähler einfach um 1 weitergesetzt und der Fehler taucht bestimmt nicht noch einmal auf.


Mit 3 meine ich natürlich den Wert, wo bei dir der Fehler erzeugt wird.

Du kannst beliebig viele If-Anweisungen untereinandersetzen, um die Variable zu überprüfen oder du bentzt das Statement OR.

Wenn du aber eher ein Typ bist, der sein Programm nicht um x Makrosekunden verlangsamen will, solltest du vielleicht eine andere Methode verwenden.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
26.06.2004, 23:41 Uhr
~encoder
Gast


hat alles gefunzt DANKE
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Visual Basic 6.0 / VBA ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: