GDI Problem

Domestos

Grünschnabel
Also ich hab ein Problem mit der Textaudgabe mit DrawText.
Hier der Code in WM_PAINT:
Code:
PAINTSTRUCT ps;
		HDC hDC;
                hDC = BeginPaint(hWnd,&ps);

		RECT r = {100,100,150,150};
		LOGFONT Logfont = {0};
		strcpy(Logfont.lfFaceName, "Arial");
		CreateFontIndirect(&Logfont);
		DrawText(hDC,"Hallo",1,&r,DT_CALCRECT);

		EndPaint(hWnd,&ps);

Und ich weiss nicht wieso da nichts kommt.Ich hoffe ihr könnt mir helfen.
Der Text könnte auch mit TextOut ausgegeben werden. Da gehts auch aber ich weiss nicht ob man das formatieren kann. Wenn das möglich ist geht das auch.
 
Zuletzt bearbeitet:
moin


Das Problem ist DT_CALCRECT.
Warum das so ist/sein könnte muss ich selber erstmal nachlesen.


mfg
umbrasaxum
 
moin


So weiss jetzt auch woran es liegt:
MSDN hat gesagt.:
DT_CALCRECT

Determines the width and height of the rectangle. If there are multiple lines of text, DrawText uses the width of the rectangle pointed to by the lpRect parameter and extends the base of the rectangle to bound the last line of text. If the largest word is wider than the rectangle, the width is expanded. If the text is less than the width of the rectangle, the width is reduced. If there is only one line of text, DrawText modifies the right side of the rectangle so that it bounds the last character in the line. In either case, DrawText returns the height of the formatted text but does not draw the text.

Interessant ist der letzte Satz!
"In jedem Fall, DrawText gibt die Höhe des formatierten Testes zurück, aber zeichnet ihn NICHT."


mfg
umbrasaxum
 
Zurück