Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo!

Ich erstelle zur Zeit eine einfache Eingabe/Ausgabemaske (Userform) mit Visual.

Nun kann der Benutzer eine Kategorie wählen (OptionBox). Wird der Datensatz zu einem späteren Zeitpunkt (in einer Userform) wieder aufgerufen, soll der Option-Box Wert durch ein entsprechendes Bild ersetzt werden.

Bsp:

1 => :)

2 => :eek

3 => :rolleyes:

etc...

Wer kann mir da weiterhelfen?

Danke für eure Hilfe!

Geschrieben

ich kann aus deinem posting nicht ganz herauslesen, ob du eine VBA-UserForm oder ein formular in VB(6) verwendest. wo kommt dein datensatz her bzw. arbeitest du mit einem recordset, datagrid o.ä.?

ich könnte mir nur vorstellen, dass du nach dem geeigneten event-handler suchst, der beim refresh der daten anschlägt, in der art ähnlich wie hier:

Private Sub Form_Activate()


    deineOption.Picture = <bild aus einer imagelist>

    imageBox.Picture = <bild aus einer imagelist>


End Sub

s'Amstel

Geschrieben

Ich benutze eine VBA-UserForm. Die Datensätze stehen in einer Exceltabelle. Die UserForm tätigt anschliessend eine Abfrage (Suche) und sollte die Ergebnisse ausspucken, wobei nun eben die Kategorie-"nr" durch ein entsprechendes Bild ersetzt werden sollte.

Wie muss ich das mit der Imagelist ggf lösen?

Danke für die Hilfe

Mätthu

Geschrieben

Nun habe ich eine Lösung für mein Problem gefunden. Sie ist zwar nicht sehr elegant, aber ist Mittel zum Zweck:

Für jeden Platzhalter (Kat1) muss ich diesen Code einführen:

Kat_1 = Range("B2")

If Kat_1 = "K1" Then

  Kat1.Picture = LoadPicture(ActiveWorkbook.Path & "\goto_k.gif")

Else

End If

If Kat_1 = "K2" Then

  Kat1.Picture = LoadPicture(ActiveWorkbook.Path & "\info_k.gif")

  Else

  End If

Nun, bei 8 verschiedenen möglichen Bildern gibt es mehrere dieser If-Anweisungen.

Könnte mir jemand sagen, wie ich das ganze mit einer Select-Case -Anwendung vereinfachen könnte?

Danke!

Geschrieben

Select Case deinevariable

Case "erstens"

...

Case "zweitens"

...

usw.

End Select

Aber ich würde dir empfehlen die Bilder in einer Iconbox oer ähnlichem zu speichern, mit der Pfadangeabe funktioniert das ganze nur bei dir auf dem Rechner.

Geschrieben

bin jetzt nich so fit in VB, doch wäre ein array nicht einfacher?

ich speicher die bilder in arr[1] bis arr[n] und bei der ausgabe wird die ausgewählte zahl als index gesetzt, also arr[auswahl].

so ist das ganze etwas dynamischer und kostet nicht so viel code

  • 2 Wochen später...
Geschrieben

Das geht schon, nur im Array kannst du keine Bilder speichern, sondern nur den Verweis. Also müsstest du wenn du deine Software jemand anderem weitergibst, ihm auch das Iconverzeichnis mitgeben, und dann muss er es an die selbe Stelle packen wie du.

Alternative, wäre natürlich ein Installshield, der dann die Verzeichnisse und die Dateien automatisch an der richtigen Stelle anlegt. dem kann man dann gleich noch den Installer für die VB-Runtime beilegen, die dann automatisch auch ausgeführt wird und fertig.

Billiger wäre eine Selbstextrahierende Exe-Datei, die man z.B. mit ZIP, RAR, 7Z, ACE, usw erzeugen kann, die übertragen auch die Verzeichnisstruktur, installieren aber nicht automatisch die VB-Runtime.

Ups, grade noch gesehen, es geht hier ja um VBA, in Office ist ja die VBA-Runtime, natürlich mit drin, ist ja logisch, das was ich da oben gesagt habe gillt hauptsächlich für VB.

Geschrieben

möglicherweiße is das dann etwas rumherumgebastelt aber, ich kann die bilder doch ganz normal mit ins programm einbauen und dann in das Array eine Referenz auf den ImgHolder speichern.

Bei der Auswhal des Users wird dann im anzuzeigenden Feld einfach für die Resource die Referenz auf das interne Bild gesetzt und schwups wirds angezeigt, oder nicht?

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...