Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1312to1316
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Picture-Eigenschaft in Steuerelement zurücksetzen

Picture-Eigenschaft in Steuerelement zurücksetzen
28.05.2013 20:14:27
Martin
Hallo,
kann die Eigenschaft Picture des Label-Steuerelements in einer UserForm so zurückgesetzt werden, dass ein fest hintergelegtes Bild nach einer Veränderung wiederhergestellt wird? Ich möchte nicht mit LoadPicture auf die Grafikdatei zurückgreifen müssen. (Gegenwertig lege ich die Grafik über...
Set objImgLogo = Label1.Picture
...temporär ab und lade diese später mit...

Label1.Picture = objImgLogo
Es interessiert mich lediglich, ob es einen einfacheren Weg gibt. Für Vorschläge bin ich dankbar.)
Viele Grüße
Martin

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Picture-Eigenschaft in Steuerelement zurücksetzen
29.05.2013 08:27:31
fcs
Hallo Martin,
Bilder eines Labels können nur durch Zuweisung einer neuen Datei zur Picture-Eigenschaft zugewiesen werden.
Du könntes zwei oder mehr Labels mit unterschiedlichen Bildern übereinander positionieren und dann die Visible-Eigenschaft der Lables in den VBA-Prozeduren so anpassen, dass jeweils das gewünschte Bild angezeigt wird.
Gruß
Franz

AW: Picture-Eigenschaft in Steuerelement zurücksetzen
29.05.2013 08:46:01
Martin
Hallo Franz,
vielen Dank für deine Antwort. Durch das Ablegen der Grafik aus dem Label in eine Objekt-Variable umgehe ich bereits den Zwang, dass ich der Picture-Eigenschaft eine Grafikdatei mit Pfadangabe zuweisen muss. Ich hatte gehofft, dass voreingestellte Standardwerte von Steuerelementen abgefragt werden können (...in meinem Fall die Picture-Eigenschaft). Aber anscheinend geht es nicht. Schade, aber ich habe ja bereits die vorgestellte Alternative.
Viele Grüße
Martin

Anzeige
Picture-Eigenschaft in Steuerelement zurücksetzen
30.05.2013 08:50:00
Nepumuk
Hallo,
genauso wenig wie du den Wert eine überschriebenen Zelle wiederherstellen kannst, wenn du ihn nicht in einer Variablen zwischenspeicherst. Das ist das selbe Prinzip. Mich wundert es sowieso, dass das funktioniert. Denn mit Set erstellst du eigentlich nur einen Verweis auf die Speicheradresse des Objektes und wenn du dann dem Objekt neue Werte zuweist, dann sollten die auch in der Objektvariablen geändert sein. Anscheinend benutzt Microsoft für Bilder die im Entwurfsmodus eingefügt werden eine andere Speicheradresse wie für zur Laufzeit hinzugefügte Bilder. Dein Glück, ansonsten wäre das relativ aufwendig. Fazit, kürzer als deine Methode geht nicht. Was willst du da noch vereinfachen?
Gruß
Nepumuk

Anzeige
AW: Picture-Eigenschaft in Steuerelement zurücksetzen
30.05.2013 09:01:12
Martin
Hallo Nepumuk,
ich versuche mit modulweiten Variablen sehr sparsam umzugehen und wollte lediglich wissen, ob eine Art "Reset" für ein einzelnes Steuerelement möglich ist oder auf eine voreingestellte Eigenschaft zurückgegriffen werden kann. Im Gegensatz zu deinem Beispiel mit der überschriebenen Zelle werden die in einer UserForm geänderten Steuerelemte schließlich nicht gespeichert, sondern sind irgendwo dauerhaft gesichert.
Viele Grüße
Martin

Picture-Eigenschaft in Steuerelement zurücksetzen
30.05.2013 10:04:17
Nepumuk
Hallo,
wenn du eine Mappe öffnest in welcher die Zelle A1 schon gefüllt ist, dann ist dieser Wert doch auch schon fest eingetragen. Wenn du ihn überschreibst ist er weg. Genauso ist das mit einem fest verdrahteten Bild in einem Control. Nur, dass das ein zur Laufzeit geändertes Bild im Control grundsätzlich nicht gespeichert wird, auch wenn du die Mappe speicherst. Deine Variable enthält nichts anderes als die Speicheradresse, eine Zahl vom Typ Long, benötigt also nur 4 Byte.
Gruß
Nepumuk

Anzeige
AW: Picture-Eigenschaft in Steuerelement zurücksetzen
30.05.2013 13:55:15
Martin
Hallo Nepumuk,
ich weiß genau, dass ich nur einen Bruchteil deines Excel-Wissens habe (darum auch Level "VBA bescheiden") und ich mir einige Dinge einfach falsch (oder zu einfach) vorstelle. Kannst du mir bitte noch ein Phänomen erklären, welches ich in Zusammenhang mit der Picture-Eigenschaft beobachtet habe:
Bei der Codezeile...
Debug.Print Label1.Picture

...wollte ich prüfen, ob der Picture-Eigenschaft ein Bild zugewiesen ist. Bei dem Rückgabewert = 0 ist kein Bild zugewiesen. Aber wenn ein Bild zugewiesen ist, variiert der Rückgabewert von hohen negativen Zahlen bishin zu hohen positiven Zahlen (z.B. -1174068117, 184892190, -1543161419, -1039845159 usw.). Was sagen diese Zahlen aus? (Steht das mit der Speicheradresse in Zusammenhang?)
Viele Grüße
Martin

Anzeige
Picture-Eigenschaft in Steuerelement zurücksetzen
30.05.2013 18:16:55
Nepumuk
Hallo,
das ist das Handle des Bildes. Das ist nicht die Speicheradresse sondern eine Windowsinterne Zugriffsnummer über die auf die Speicheradresse zugegriffen wird. Die Speicheradresse kannst du so ermitteln:
Debug.Print ObjPtr(Label1.Picture)
Gruß
Nepumuk

AW: Picture-Eigenschaft in Steuerelement zurücksetzen
31.05.2013 16:33:43
Martin
Hallo Nepumuk,
erst einmal vielen Dank für deine Antworten. Meine folgende Frage ist hoffentlich "berechtigt": Was bringt es die Speicheradresse abzufragen? Kann man mit der Speicheradresse etwas anfangen? (Bei mir unter Excel 2003 erhalte ich in der Hilfe unter "ObjPtr" lediglich eine MsgBox mit der Meldung "Keine Hilfe verfügbar".)
Viele Grüße
Martin
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige