| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Image Tag - Eigenschaft / Stringproblem (577 mal gelesen)
|
Dirk.B Mitglied Tischler / Leiter Arbeitsvorbereitung
Beiträge: 534 Registriert: 25.11.2003
|
erstellt am: 29. Dez. 2007 16:01 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen! Ich bin dabei mir ein kleines Programm zu schreiben, mit dem ich Bilder (Image - Controls) auf eine Userform lade. Die Image werden mit wmf's aus einem Verzeichnis befüllt. Code:
Dim NewImage As MSForms.Image ... Dim Dat1 As String Dim Dat2 As String ... With NewImage If Dat2 <> "" Then Set .Picture = LoadPicture(Dat1 & Dat2) Dat2 = Dir End If .Move 4 + 50 * i, 4 + 50 * j, 48, 48 .BackColor = color1 .Enabled = False .PictureSizeMode = fmPictureSizeModeZoom .Tag = "@@@" & Dat2 End With ...
Da das Image - Control bei .Tag = das Dat2 nicht akzeptiert stelle ich "@@@" als Platzhalter voran. Klick ich nun per Private Sub UserForm_MouseDown... auf ein Image bekomme ich bei Code:
MsgBox NewImage.Tag
@@@Bildname01.wmf Wie kann ich dieses "@@@" umgehen oder mit Left, Right oder Mid aus dem String löschen, so das ich nur Bildname01.wmf erhalte. Ich benötige den Dateinamen um mit diesem weiter arbeiten zu können, z.B. das ausgewählte Bild in eine weitere größere Image zu laden. Code:
With Image1 'ImageControl zur größeren Anzeige des ausgewählten Bildes .PictureSizeMode = fmPictureSizeModeZoom .Picture = LoadPicture("C:\Temp\" & NewImage.Tag) End With
Kann mir da jemand einen Tipp geben, oder hat da jemand eine Idee dieses noch einfacher zu regeln? Vielen Dank im voraus. Gruß Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1358 Registriert: 24.07.2002 AutoCAD ACA 2018 Solidworks 2016 Sp5 Enterprise PDM 2016 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell T3620 Intel Core i7-7700K 16 GB Arbeitsspeicher 2x Samsung S24C650 Dell M4800
|
erstellt am: 29. Dez. 2007 16:10 <-- editieren / zitieren --> Unities abgeben: Nur für Dirk.B
Hi Dirk, Ermittel doch über die Len-Funktion die Länge des Strings und übernehme mittels Right und der Länge - 3 (für die @@@) den Namen. Code: Public Sub StringTest_Dirk() Dim BeispielString As String Dim FileNamestring As String Dim StringLänge As Long BeispielString = "@@@" + "FileName" StringLänge = Len(BeispielString) FileNamestring = Right(BeispielString, StringLänge - 3) MsgBox FileNamestring End Sub
Bei dir müsste das dann so lauten: Code: .Picture = LoadPicture("C:\Temp\" & Right(NewImage.Tag, Len(NewImage.Tag) - 3))
Gruß, Carsten [Diese Nachricht wurde von Carsten1210 am 29. Dez. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1358 Registriert: 24.07.2002
|
erstellt am: 30. Dez. 2007 15:01 <-- editieren / zitieren --> Unities abgeben: Nur für Dirk.B
Hallo Dirk, Zitat: Da das Image - Control bei .Tag = das Dat2 nicht akzeptiert stelle ich "@@@" als Platzhalter voran.
Was für einen Inhalt hat Dat2 denn, das das nicht akzeptiert wird?! Ich kann dein Problem da nicht nachvollziehen. Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |