von Stephan » Di, 11.12.2012 15:46
Ich habe eine Listbox mit Einträgen, ok?
Jetzt klickt der Anwender auf eine Eintrag der Listbox, ok?
Dieser Eintrag soll nun so verändert werden - dauerhaft, dass der Anwender sieht, dass er den Eintrag angeklickt hat, ok?
ja, so verstand ich das.
Änderungen an den Items der Listbox werden schlicht ignoriert...
weiß ich nicht, aber merkst Du das das eine völlig andere Aussage ist als bisher (oder nicht und es gibt doch eine Fehlermeldung?), da wahr nämlich die Rede von:
Das für zu Fehlermeldungen.
und darauf habe ich mich gestützt, denn ich habe das Ganze natürlich konkret durchprobiert ehe ich geantwortet habe:
Code: Alles auswählen
Dim MAK_bib As Object
Dim dialog As Object
Dim akt
Sub Start_Dia()
BasicLibraries.LoadLibrary("Standard")
DialogLibraries.LoadLibrary("Standard")
MAK_bib = DialogLibraries.Standard.Dialog1
dialog = CreateUnoDialog(MAK_bib)
eintraege = Array("aaa","bbb","ccc")
dialog.Model.getByName("ListBox1").StringItemList = eintraege()
dialog.execute()
End Sub
Sub selektieren()
if akt = 1 Then
akt = 0
Exit Sub
End if
x = dialog.Model.getByName("ListBox1").StringItemList
For i = 0 To Ubound(x())
If x(i) = dialog.getControl("ListBox1").selectedItem AND Left(dialog.getControl("ListBox1").selectedItem, 2) <> "x_" Then
x(i) = "x_" & x(i)
x1 = x(i)
akt = 1
End If
Next i
dialog.Model.getByName("ListBox1").StringItemList = x()
dialog.getControl("ListBox1").selectItem(x1, True)
End Sub
Ich bin jetzt dazu übergegangen einen Listeintrag raus zu nehmen und neu einzufügen.
ja, so dachte ich. (bzw. ich dachte, und nutze in meinem Code, die ganze Liste, das ist aber nur ein Detail, zumal Dein Weg der naheliegendere ist)
Allerdings gefällt mir der Code nicht, da eine Änderung der Liste einen neuen StatusEvent auslöst, denn ich nicht brauchen kann und mittels BreakEvent abbreche:
Dann kann ich Dir nicht weiterhelfen.
Gruß
Stephan
[quote]Ich habe eine Listbox mit Einträgen, ok?
Jetzt klickt der Anwender auf eine Eintrag der Listbox, ok?
Dieser Eintrag soll nun so verändert werden - dauerhaft, dass der Anwender sieht, dass er den Eintrag angeklickt hat, ok?[/quote]
ja, so verstand ich das.
[quote]Änderungen an den Items der Listbox werden schlicht ignoriert...[/quote]
weiß ich nicht, aber merkst Du das das eine völlig andere Aussage ist als bisher (oder nicht und es gibt doch eine Fehlermeldung?), da wahr nämlich die Rede von:
[quote]Das für zu Fehlermeldungen.[/quote]
und darauf habe ich mich gestützt, denn ich habe das Ganze natürlich konkret durchprobiert ehe ich geantwortet habe:
[code]Dim MAK_bib As Object
Dim dialog As Object
Dim akt
Sub Start_Dia()
BasicLibraries.LoadLibrary("Standard")
DialogLibraries.LoadLibrary("Standard")
MAK_bib = DialogLibraries.Standard.Dialog1
dialog = CreateUnoDialog(MAK_bib)
eintraege = Array("aaa","bbb","ccc")
dialog.Model.getByName("ListBox1").StringItemList = eintraege()
dialog.execute()
End Sub
Sub selektieren()
if akt = 1 Then
akt = 0
Exit Sub
End if
x = dialog.Model.getByName("ListBox1").StringItemList
For i = 0 To Ubound(x())
If x(i) = dialog.getControl("ListBox1").selectedItem AND Left(dialog.getControl("ListBox1").selectedItem, 2) <> "x_" Then
x(i) = "x_" & x(i)
x1 = x(i)
akt = 1
End If
Next i
dialog.Model.getByName("ListBox1").StringItemList = x()
dialog.getControl("ListBox1").selectItem(x1, True)
End Sub[/code]
[quote]Ich bin jetzt dazu übergegangen einen Listeintrag raus zu nehmen und neu einzufügen.[/quote]
ja, so dachte ich. (bzw. ich dachte, und nutze in meinem Code, die ganze Liste, das ist aber nur ein Detail, zumal Dein Weg der naheliegendere ist)
[quote]Allerdings gefällt mir der Code nicht, da eine Änderung der Liste einen neuen StatusEvent auslöst, denn ich nicht brauchen kann und mittels BreakEvent abbreche:[/quote]
Dann kann ich Dir nicht weiterhelfen.
Gruß
Stephan