TabImage zur Laufzeit ändern?

Eigener Bereich für die Entwickler unter uns! Add-Ins, aber auch andere Programme.
Antworten
sTunTe
Moderator
Beiträge: 3078
Registriert: 9. Jun 2008, 16:25
Wohnort: im nasskalten Norden

TabImage zur Laufzeit ändern?

Beitrag von sTunTe »

Tach zusammen.

Ist es möglich das TabImage während der Laufzeit zu ändern?
Da TabImage als Public ReadOnly Property deklariert ist, sehe ich da keine Chance.
Ist es überhaupt möglich das Image zu ändern, nachdem das Addin geladen wurde?
Irgendjemand eine Idee?

Gruß
sTunTe
Benutzeravatar
AliG
Moderator
Beiträge: 3727
Registriert: 6. Jun 2007, 17:33
Wohnort: Salzburg, Österreich

Re: TabImage zur Laufzeit ändern?

Beitrag von AliG »

Hi!

Ich sehe ehrlich gesagt wenig Chancen, da das Image nun mal beim Starten der Konsole abgerufen wird und später nicht mehr verändert werden kann.

Für was würdest du das denn brauchen?

lg Alex
Mache ich etwas richtig, merkt es keiner. Mache ich etwas falsch, vergisst es keiner. :D

Mein WHS
sTunTe
Moderator
Beiträge: 3078
Registriert: 9. Jun 2008, 16:25
Wohnort: im nasskalten Norden

Re: TabImage zur Laufzeit ändern?

Beitrag von sTunTe »

Tach Alex.
AliG hat geschrieben:Für was würdest du das denn brauchen?
Im Prinzip nur als visuellen Hinweis für den User, falls sich dieser grade in einem anderen Tab befindet und ein "Ereignis" anliegt.
Ich wollte dafür nicht extra die Notifications missbrauchen oder (noch schlimmer) eine Messagebox aufpoppen lassen.

Ich hatte schon probiert innerhalt der ReadOnly Property eine Funktion aufzurufen, die mir dann das Image ändert.
Das funktioniert aber nur bedingt.
Es wird lediglich das erste Image geladen. Das war's dann.
Selbst wenn man direkt in der Property mehrere Returns einsetzt, z.B.

Code: Alles auswählen

    Public ReadOnly Property TabImage() As Bitmap Implements IConsoleTab.TabImage
        Get
            Return My.Resources.Image1
            Return My.Resources.Image2
            Return My.Resources.Image3
        End Get
    End Property
wird nur das erste Image geladen.
Btw: Ich weiß dass dieses Beispiel keinen Sinn ergibt... War ja aber auch nur ein Test. ;)

Gibt es denn keine Möglichkeit das TabImage z.B. in einer eigenen Funktion aufzurufen und zu ändern?
Wäre echt schade...

Gruß
sTunTe
Benutzeravatar
AliG
Moderator
Beiträge: 3727
Registriert: 6. Jun 2007, 17:33
Wohnort: Salzburg, Österreich

Re: TabImage zur Laufzeit ändern?

Beitrag von AliG »

Nun, das Problem ist, dass die Konsole das Image während des Startvorgangs abruft und einer PictureBox (oder etwas ähnlichem) zuweist.

Soweit ich weiß, liegen die (Bild-)Daten der PictureBox dann im Speicher, d.h. es wird eine Kopie der Daten des Bitmap-Objekts, das du beim TabImage Property zurückgibst, in die PictureBox geschrieben.
Selbst wenn du jetzt das Bitmap-Objekt änderst, ändert sich in der PictureBox nichts.
Du bräuchtest also direkten Zugriff auf die PictureBox die das TabImage anzeigt, was wohl unmöglich ist.

lg Alex
Mache ich etwas richtig, merkt es keiner. Mache ich etwas falsch, vergisst es keiner. :D

Mein WHS
sTunTe
Moderator
Beiträge: 3078
Registriert: 9. Jun 2008, 16:25
Wohnort: im nasskalten Norden

Re: TabImage zur Laufzeit ändern?

Beitrag von sTunTe »

Tach Alex.

Dem kann ich Dir leider nicht widersprechen...
Zumindest habe ich bislang noch keine Möglichkeit finden können... und werde wohl auch keine finden.
Sehr schade.

Die TabIconLeiste scheint aber ohnehin eine ziemliche Zicke zu sein... ;)
Ich habe gestern zu Testzwecken versucht ein animiertes Gif zu verwenden, mit dem Resultat, dass nur das erste Frame angezeigt wird.

Naja... was soll's...
Muss ich mir etwas anderes überlegen.

Gruß
sTunTe
Antworten