function GetRectText(DC:hDC; Text:string):Trect;
begin
Result.Left:=0;
Result.Top:=0;
Windows.DrawText(DC, PChar( Text ),-1,
Result, DT_CALCRECT or DT_NOCLIP or DT_WORDBREAK);
end;
var
MainWnd,l:HWND; R:Trect; Text:string;
begin
...
Text:='бла-бла-бла';
l:=CreateWindowEx(0,'STATIC',Pchar(Text),SS_LEFT or WS_VISIBLE or WS_CHILD,
100,100,100,100,MainWnd,1010,hinstance,nil);
SendMessage(L,WM_SETFONT,GetStockObject(ANSI_VAR_FONT),0);
R:=GetRectText(GetDC(MainWnd),Text);
SetWindowPos(l,0,0,0,r.Right,r.Bottom,SWP_NOMOVE);
...
Определяет неверно.
В VCL при
R:=GetRectText(Form1.canvas.handle,Text);
все работает. Как заставить учитывать ширину и высоту шрифта