W
Mit DT_CALCRECT als letzten Parameter für DrawText() müsste es ungefähr so gehen:
char* sText = "Dieser Text erstreckt sich, falls nötig, über mehrere Zeilen.";
int iLenText = strlen(sText);
RECT rc;
/* 90 sei vorgegebenene (Maximal-)Breite */
SetRect(&rc, 0, 0, 90, 0);
/* DrawText() zum Berechnen des Platzbedarfs aufrufen,
wg. DT_CALCRECT aber noch keine Textausgabe */
DrawText(hDc, sText, iLenText, &rc, DT_CALCRECT);
/* rc.bottom enthält nun die erforderliche Gesamthöhe,
rc.right die exakte Breite (nun wahrscheinlich etwas geringer als oben vorgegeben).
Hier ggf. Code zur Größenanpassung des Controls einfügen */
/* Und jetzt links-ausgerichtete Textausgabe */
DrawText(hDc, sText, iLenText, &rc, DT_LEFT);
Walter Z