Toolbar
Moderatoren: crack, Krüsty, Marwin
-
Rainer
- Alter Hase
- Beiträge: 81
- Registriert: Freitag 21. Juli 2006, 14:39
- Wohnort: Senftenberg
- Kontaktdaten:
Toolbar
Hallo,
ich habe eine Toolbar, funktioniert alles ganz normal. Diesmal muss ich jedoch Toolbarbuttons deaktivieren, mache ich mit
invoke SendMessage, hToolbar, TB_ENABLEBUTTON, id, flag
id = CmdId
flag = TRUE/FALSE
Das funktioniert auch, die Buttons sind grau und lassen sich nicht mehr schalten, aber die Bilder sehen unmöglich aus. Nun habe ich das Bitmap (24Bit) mit Gimp transparent gemacht, sieht in WinXP gut aus, aber in WinME (und vermutlich auch in den anderen VER_PLATFORM_WIN32_WINDOWS Betriebssystemen) kriege ich's einfach nicht hin, dass die graue Darstellung vernünftig aussieht. Ich habe dann für diese Betriebssysteme noch ein Toolbarbitmap mit 256 Indexfarben gemacht, und mit
local cm :COLORMAP
mov cm.From, 0
invoke GetSysColor, COLOR_MENU
mov cm.To, eax
invoke CreateMappedBitmap, hInstance, 40, 0, addr cm, 1
mov hBmpToolbar, eax
die Hintergrundfarbe auf COLOR_MENU gesetzt, den Fensterhintergrund auch. Damit sind die Buttons wenigstens auch transparent, aber wenn sie deaktiviert werden, ist die graue Darstellung genauso unmöglich.
Es muss gehen, ich arbeite mit dem RadAsm-Editor, da funktioniert das einwandfrei, habe mal nachgesehen, es wird dort ein 24Bit-Bitmap für die Toolbar eingesetzt.
Es wäre toll, wenn mir da jemand weiterhelfen könnte.
Gruß Rainer
ich habe eine Toolbar, funktioniert alles ganz normal. Diesmal muss ich jedoch Toolbarbuttons deaktivieren, mache ich mit
invoke SendMessage, hToolbar, TB_ENABLEBUTTON, id, flag
id = CmdId
flag = TRUE/FALSE
Das funktioniert auch, die Buttons sind grau und lassen sich nicht mehr schalten, aber die Bilder sehen unmöglich aus. Nun habe ich das Bitmap (24Bit) mit Gimp transparent gemacht, sieht in WinXP gut aus, aber in WinME (und vermutlich auch in den anderen VER_PLATFORM_WIN32_WINDOWS Betriebssystemen) kriege ich's einfach nicht hin, dass die graue Darstellung vernünftig aussieht. Ich habe dann für diese Betriebssysteme noch ein Toolbarbitmap mit 256 Indexfarben gemacht, und mit
local cm :COLORMAP
mov cm.From, 0
invoke GetSysColor, COLOR_MENU
mov cm.To, eax
invoke CreateMappedBitmap, hInstance, 40, 0, addr cm, 1
mov hBmpToolbar, eax
die Hintergrundfarbe auf COLOR_MENU gesetzt, den Fensterhintergrund auch. Damit sind die Buttons wenigstens auch transparent, aber wenn sie deaktiviert werden, ist die graue Darstellung genauso unmöglich.
Es muss gehen, ich arbeite mit dem RadAsm-Editor, da funktioniert das einwandfrei, habe mal nachgesehen, es wird dort ein 24Bit-Bitmap für die Toolbar eingesetzt.
Es wäre toll, wenn mir da jemand weiterhelfen könnte.
Gruß Rainer
- crack
- Administrator
- Beiträge: 280
- Registriert: Dienstag 21. Dezember 2004, 15:02
- Wohnort: 53783 Eitorf
- Kontaktdaten:
Re: Toolbar
Ich verstehe die Problematik...
Idee: wie wäre es denn wenn Du den Button 'grayst', auch bei dem Image auf eine Monochrome Version umschaltest, die sollte dann doch so dargestellt werden wie Du sie erstellt hast...
Idee: wie wäre es denn wenn Du den Button 'grayst', auch bei dem Image auf eine Monochrome Version umschaltest, die sollte dann doch so dargestellt werden wie Du sie erstellt hast...
mit freundlichen grüssen,
with best regards,
crack
with best regards,
crack
-
Rainer
- Alter Hase
- Beiträge: 81
- Registriert: Freitag 21. Juli 2006, 14:39
- Wohnort: Senftenberg
- Kontaktdaten:
Re: Toolbar
Hallo crack,
Danke für die Antwort.
Meinst Du zum farbigen Toolbarbitmap mit den Button-Images noch ein graues anfügen und dann mit
TB_CHANGEBITMAP
auf das graue umschalten? Dann wäre aber der Button noch wählbar. Ich habe schon an diese Möglichkeit gedacht, aber ideal wäre das nicht.
Gruß Rainer
Danke für die Antwort.
Meinst Du zum farbigen Toolbarbitmap mit den Button-Images noch ein graues anfügen und dann mit
TB_CHANGEBITMAP
auf das graue umschalten? Dann wäre aber der Button noch wählbar. Ich habe schon an diese Möglichkeit gedacht, aber ideal wäre das nicht.
Gruß Rainer
- crack
- Administrator
- Beiträge: 280
- Registriert: Dienstag 21. Dezember 2004, 15:02
- Wohnort: 53783 Eitorf
- Kontaktdaten:
Re: Toolbar
Oha, diesen Nebeneffekt habe ich nicht bedacht, bzw. nicht davon gewusst.
Die unelegante Option wäre Das Bitmap ändern / Verzögerungsschleife / dann Button disablen ...
Die unelegante Option wäre Das Bitmap ändern / Verzögerungsschleife / dann Button disablen ...
mit freundlichen grüssen,
with best regards,
crack
with best regards,
crack
-
Rainer
- Alter Hase
- Beiträge: 81
- Registriert: Freitag 21. Juli 2006, 14:39
- Wohnort: Senftenberg
- Kontaktdaten:
Re: Toolbar
Hallo crack,
das geht leider auch nicht. Wenn Du gleich den Button mit dem grauen Bitmap zeichnest; in dem Moment, wenn Du disabled setzt, würde das graue Bitmap vom System nochmal grau gezeichnet werden. Da sieht man dann nur das als weiß, was im Bitmap weiß war, alles andere erscheint gleichmäßig grau, das ist das Problem. Ich habe deshalb den Verdacht, in der Toolbar reichen die Bitebenen nicht um mehr als zwei Farben zu zeichnen.
Gruß Rainer
das geht leider auch nicht. Wenn Du gleich den Button mit dem grauen Bitmap zeichnest; in dem Moment, wenn Du disabled setzt, würde das graue Bitmap vom System nochmal grau gezeichnet werden. Da sieht man dann nur das als weiß, was im Bitmap weiß war, alles andere erscheint gleichmäßig grau, das ist das Problem. Ich habe deshalb den Verdacht, in der Toolbar reichen die Bitebenen nicht um mehr als zwei Farben zu zeichnen.
Gruß Rainer
- crack
- Administrator
- Beiträge: 280
- Registriert: Dienstag 21. Dezember 2004, 15:02
- Wohnort: 53783 Eitorf
- Kontaktdaten:
Re: Toolbar
vll probierst Du mal das Bitmap mit 'Imageedit' (Teil des MASM Pakets) zu bearbeiten ...
mit freundlichen grüssen,
with best regards,
crack
with best regards,
crack
-
Rainer
- Alter Hase
- Beiträge: 81
- Registriert: Freitag 21. Juli 2006, 14:39
- Wohnort: Senftenberg
- Kontaktdaten:
Re: Toolbar
... das habe ich gerade probiert, aber das Teil nimmt keine Bitmaps mit mehr als 16 Farben, bei meinem und auch beim (zum testen extrahierten) Bitmap von RadAsm streikt das Tool, meint dazu, das sei kein gültiges Format 3.0 Bitmap. Was mich noch irritiert, wenn ich mir das Bitmap von RadAsm im Gimp ansehe, ist das nicht transparent, hat aber als Hintergrund-Farbe
0FF00FFh. Ich habe fast den Verdacht, da wird eine ImageList verwendet, da kann man ja den Mask-Parameter angeben. Ich habe aber noch nirgends gesehen, dass eine Toolbar mit einer ImageList verknüpft ist.
Gruß Rainer
0FF00FFh. Ich habe fast den Verdacht, da wird eine ImageList verwendet, da kann man ja den Mask-Parameter angeben. Ich habe aber noch nirgends gesehen, dass eine Toolbar mit einer ImageList verknüpft ist.
Gruß Rainer
-
Rainer
- Alter Hase
- Beiträge: 81
- Registriert: Freitag 21. Juli 2006, 14:39
- Wohnort: Senftenberg
- Kontaktdaten:
Re: Toolbar
...inzwischen habe ich herausgefunden, dass Bitmaps mit 256 Indexfarben sowohl in WinXP als auch in WinME transparent dargestellt werden, zumindest wenn die Hintergrundfarbe schwarz ist. Es wird dann gleich dargestellt wenn die Buttons deaktiviert sind, was weiß war, bleibt weiß, alle anderen Farben werden zu grau.
Gruß Rainer
Gruß Rainer
-
Rainer
- Alter Hase
- Beiträge: 81
- Registriert: Freitag 21. Juli 2006, 14:39
- Wohnort: Senftenberg
- Kontaktdaten:
Re: Toolbar
Hallo crack,
ich habe mal bei RadAsm nachgefragt, und KetilO hat mir freundlicherweise die Lösung gepostet:
invoke SendMessage, hToolbar, TB_SETIMAGELIST, 0, hImgListTBf
invoke SendMessage, hToolbar, TB_SETDISABLEDIMAGELIST, 0, hImgListTBg
Es wird eine ImgList mit farbigen(hImgListTBf) und eine mit grauen(hImgListTBg) Button-Images angelegt. Jetzt funktioniert das astrein.
Gruß Rainer
ich habe mal bei RadAsm nachgefragt, und KetilO hat mir freundlicherweise die Lösung gepostet:
invoke SendMessage, hToolbar, TB_SETIMAGELIST, 0, hImgListTBf
invoke SendMessage, hToolbar, TB_SETDISABLEDIMAGELIST, 0, hImgListTBg
Es wird eine ImgList mit farbigen(hImgListTBf) und eine mit grauen(hImgListTBg) Button-Images angelegt. Jetzt funktioniert das astrein.
Gruß Rainer