Ok, ok :-)
Nur waren seine bisherigen Fragen aber bisher Windows basiert.
https://www.computerbase.de/forum/threads/c-std-string-in-cstring-konvertieren.220954/
CString lässt auf die MFC und damit Windows schliessen.
Wobei ich mal vermute das meine Aussage auch für Qt gilt. Die Links die ich oben ansatzweise verfolgt habe, sagen mir das Qt in Bezug auf die MessageBox vom Prinzip her genauso aufgebaut ist wie unter Windows.
D.h für die gewünschte Flexibilität ist Selbermachen angesagt.
In MFC heisst das einen CDialog anlegen der vom Aussehen her genauso aussieht wie die Messagebox.
Im OnPaint des Dialoges kann man dann ausgeben was man will. Als Stichworte für die Hilfe mal:
- CFont, CreateFont
- CPaintDC, CDC, CClientDC
- SelectObject
- DrawString
D.h. im OnInitDialog wird der Font mit CreateFont angelegt. Löschen im OnDestroy nicht vergessen.
Im OnPaint wird dc.SelectObject( mpFont ) der Font selektiert. Ebenso den alten Font restaurieren nicht vergessen.
Die Textfarbe kann mit SetTextColor gesetzt werden. Der Text an sich wird z.B. mit DrawString gezeichnet.
Den Zeichenbereich kann man sich mit einem Frame Control markieren.
Die Koordinaten dazu bekommt dann mit mFrameControl.GetWindowRect( &lRect ); ScreenToClient( &lRect );
Oder eben auf Grundlage der Dialoggrösse selber berechnen.
Den Dialog an sich bringst Du dann mit DoModal auf den Bildschirm, dann verhält er sich genauso wie die Standard Messagebox.
Ich hoffe mit den Stichworten kommst Du weiter.
MfG
Arnd