20.06.2023, 17:00
Liebe Leserin, lieber Leser,
manchmal wird in Foren gefragt, ob man nicht die Schriftart und/oder die Schriftgröße einer MessageBox ändern kann.
Die Standardaussage hierzu: nein, das geht nicht, bau Dir eine Userform.
Dass es aber doch geht, möchte ich hier an drei Beispielen mal aufzeigen.
Über den Windows-Messageparameter WM_SETFONT kann man dem Textlabel der MsgBox einen anderen Font zuweisen, der u.a. die Schriftgröße, Schriftart, aber auch kursv, unterstrichen und fett bereitstellt.
Problem ist hier allerdings, dass bei größeren Fonts der Text u.U. nicht mehr in das Textlabel passt und ggf. abgeschnitten wird.
Die MsgBox formatiert ihre Größe ja stur nach eigenem Gusto. Ein Anpassung wäre nur mit einigem Mehraufwand möglich, da dann alles mit eigenm Code nachgeschliffen werden muss.
Über Verlängern des zu übergebenden Text mit Leerzeichen und/oder vbLF kann die MsgBox gezwungen werden, ihre Größe entsprechend zu verändern, bevor der Font verändert wird.
Hundertprozentig treffsicher ist das aber leider nicht. Aber da kann man ja tüfteln.
BTW: Die Schriftfarbe kann hiermit leider nicht verändert werden. Da wird man wohl den Text mit der gewünschten Farbe erneut schreiben müssen.
So, und nun viel Spaß und Erfolg beim Ausprobieren und Anwenden.
manchmal wird in Foren gefragt, ob man nicht die Schriftart und/oder die Schriftgröße einer MessageBox ändern kann.
Die Standardaussage hierzu: nein, das geht nicht, bau Dir eine Userform.
Dass es aber doch geht, möchte ich hier an drei Beispielen mal aufzeigen.
Über den Windows-Messageparameter WM_SETFONT kann man dem Textlabel der MsgBox einen anderen Font zuweisen, der u.a. die Schriftgröße, Schriftart, aber auch kursv, unterstrichen und fett bereitstellt.
Problem ist hier allerdings, dass bei größeren Fonts der Text u.U. nicht mehr in das Textlabel passt und ggf. abgeschnitten wird.
Die MsgBox formatiert ihre Größe ja stur nach eigenem Gusto. Ein Anpassung wäre nur mit einigem Mehraufwand möglich, da dann alles mit eigenm Code nachgeschliffen werden muss.
Über Verlängern des zu übergebenden Text mit Leerzeichen und/oder vbLF kann die MsgBox gezwungen werden, ihre Größe entsprechend zu verändern, bevor der Font verändert wird.
Hundertprozentig treffsicher ist das aber leider nicht. Aber da kann man ja tüfteln.
BTW: Die Schriftfarbe kann hiermit leider nicht verändert werden. Da wird man wohl den Text mit der gewünschten Farbe erneut schreiben müssen.
So, und nun viel Spaß und Erfolg beim Ausprobieren und Anwenden.
Code:
01 | ' Timer Funktionen |
____________
viele Grüße ?
Karl-Heinz
viele Grüße ?
Karl-Heinz