Austauschen von Icons funktioniert nicht

deb_ugger

Erfahrenes Mitglied
Hallo,

ich versuche verzweifelt in einer kleinen Applikation Toolbar-Icons auszutauschen. Sie sollen je nach Selektion im Content aktiv bzw. disabled sein. An sich funktioniert der Mechanismus. Es wird "Copy.ico" angezeigt. Bei der Disabled-Variante gibts aber Probleme. Hier wird nicht "CopyDisabled.ico" angezeigt, sonder gar kein Icon. Kann mir wer einen Hinweis geben?

Code:
If tlbApp.Buttons("Copy").Enabled = True Then
       tlbApp.Buttons("Copy").Image = ilsToolbar.ListImages("Copy").index
    Else
       tlbApp.Buttons("Copy").Image = ilsToolbar.ListImages("CopyDisabled").index
    End If

mfg,
debugger
 
Hallo,

also den Austausch der Icons in meiner Toolbar habe ich jetzt hingekriegt. Es stehe ich aber vor einem anderen Problem: Ich verwende Icons im WinXP-Stil. Das heißt mit vielen Farben, Verläufen etc.

Im aktiven Zustand sehen die Icons auch toll aus, wenn sie aber atuomatisch von VB disabled werden, nicht mehr. Dann ist da nur mehr ein grauer Fleck der die Form des Icons hat, aber keine Grauabstufungen mehr. Gibts dafür eine Lösung?

Hier ein Screen:
VB_toolbar.gif

Danke für die Hilfe!
Grüßle
 
Icons, die disabled sind, werden auch von Windows nur grau angezeigt (uch Dir mal Word oder Excel an). Das ist normal!

Grüsse
ronaldh
 
;)

Ok, soweit weiß ich auch Bescheid.
Aber es macht einen Unterschied ob das Icon lediglich seine Farbwerte verliert und leicht blass dargestellt wird (wie wir es von Office etc. kennen), oder ob wie in diesem Fall nur ein grauer Fleck dargestellt wird. Ohne jegliche Graustufen.

Auf dem Bild kann man gar nicht mehr erkennen, was das Icon eigentlich darstellen soll. Unter ausserdem leidet die Ästhetik massiv darunter...

Was ich bereits versucht habe:
2 unterschiedliche Icons anbieten - 1 farbiges, 1 graues - und diese dann austauschen. Problem: Ich kann zwar ein Toolbar-Icon disabled aussehen lassen (indem ich das farbige mit dem grauen Icon ersetze), doch bekomme ich den mouse-over Effekt nicht weg (auch bei einem mouse-over über das graue Icon erscheint eine kontur um das icon, die einen Button andeuten soll). Auch nicht optimal...

Vorschläge?

Grüßle
 
Schick doch mal ein paar von den ICO-Dateien rüber, dann können wir uns das mal ansehen. Du hast natürlich recht, Deine Icons sehen wirklich nicht sehr schick aus.

Das Problem hatte ich noch nie, bei mir sehen die eigentlich immer so ähnlich aus wie disabled Icons in beispielsweise Microsoft Office Programmen. Und die von mir verwendeten Icons sind gemischt, also von normalen Standard-Icons hin bis zu Bitmaps, die in Icons umgewandelt sind.

Grüsse
ronaldh
 
Hallo,

ich denke, es liegt schlicht und einfach daran, dass die Icons wirklich wenig Kontrast haben. Wären die dunkleren Flächen etwas dunkler, und die helleren etwas heller, würde das besser zu sehen sein.

Ich habe die Umrisse des Druckers mal etwas kräftiger gemacht, dann ist der Drucker auch disabled als solcher zu erkennen. Bei Deinem Icon war dies nicht der Fall.

Wenn ich mir mein Office so anschaue, würde ich sagen, dass dort auch nur Umrisse zu erkennen sind, jedoch keine Graustufen dargestellt werden, oder, wenn's hochkommt, werden nur 16 Graustufen dargestellt (dann geht natürlich bei 256-Tiefe einiges verloren).

Enabled sehen Deine Icons recht elegant aus.

Viele Grüsse
ronaldh
 

Anhänge

Also von z.B. .NET-Libraries kenne ich den Mechanismus, dass Icons automatisch disabled werden indem ihnen einfach die Farbe genommen wird und der Kontrast ein wenig runtergeschraubt wird. Die Ergebnisse sehen dabei eigentlich perfekt aus - mit denen von VB eigentlich nicht zu vergleichen. Anscheinend rechnet VB den disabled-Zustand anders um. Die Icons scheinen dann wirklich nur mehr 2 Farben (bzw. Graustufen) zu haben. Schade eigentlich.
 
Zurück