Schriftgröße bei MessageBox ändern

Gast #444908
Lesenswert?

Hi Leuts,

hat einer ne Idee wie man bei der Funktion MessageBox eine andere 
Schrift / Schriftgröße vorwählen kann ?

Da MessageBox eine Funktion von CWnd ist, und es ebenfalls eine Funktion 
CWnd::SetFont() gibt, besteht da sicherlich irgendein Lösungsansatz.
Aber ich habe keine Ahnung wie......


Greets
Karlheinz
Persönliche Seite #444969
Lesenswert?

MessageBox ist eine Win32-API-Funktion, die von CWnd::MessageBox 
aufgerufen wird:
1
int CWnd::MessageBox(LPCTSTR lpszText, LPCTSTR lpszCaption, UINT nType)
2
{
3
  if (lpszCaption == NULL)
4
    lpszCaption = AfxGetAppName();
5
  int nResult = ::MessageBox(GetSafeHwnd(), lpszText, lpszCaption, nType);
6
  return nResult;
7
}


Das bedeutet, daß die Darstellung sich nicht mit irgendwelchen anderen 
Memberfunktionen von CWnd beeinflussen lässt, weil eben nicht das 
verwendete Fenster von CWnd gekapselt wird.

Am einfachsten wäre es, eine eigene MessageBox-Funktion von CDialog 
abzuleiten und in der SetFont etc. zu implementieren.
Ein bisschen Handarbeit gibt es bei der dynamischen Anpassung der Größe 
des Dialoges an die Menge des darzustellenden Textes, Tips dafür müssten 
unter www.codeproject.com oder einer ähnlichen Seite auffindbar sein.

Alternativ ließe sich mit einem sogenannten System-Hook der Aufruf der 
Win32-API-Funktion abfangen, aber das ist nicht ganz trivial.
Gast #445114
Lesenswert?

Ich programmiere schon recht lange mit Qt (seit Version 1.4), und wenn 
ich dann sehe, welche trivialen Sachen dem MFC-Programmierer regelrecht 
Klimmzüge abverlangen, kann ich nur den Kopf schütteln. Warum tut sich 
irgendwer das an?
Es muss ja auch nicht unbedingt Qt sein. Ich glaube, so ziemlich alles 
ist besser als MFC.
#445243
Lesenswert?

Zur Ehrenrettung der MFC muss man aber auch sagen, dass
ihr Grunddesign länger zurückliegt als das Alter so manches
Forumteilnehmers hier ist :-)
Wesentliche MFC Mechanismen stammen aus einer Zeit in der
ein C++ ISO Standard nichts weiter als das Glitzern in
Stroustrups Augen war.
Gast #445345
Lesenswert?

Also erstmal Danke für eure Mühe, Jungs.
Im Prinzip finde ich die MFC gar nicht schlecht, und seis auch nur weil 
ich keine Vergleichsmöglichkeiten habe :-)

Derzeit finde ich es allerdings schon schlimm, weil ich fast an jeder 
Ecke der Software die Schriftgrößen ändern muß, und das geht wirklich 
jedesmal anders.
Aber jede Medaille hat halt zwei Seiten.....


Greets
Karlheinz

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren