Hallo Matti,
es geht auch so:
Delphi-Quellcode:
var
buf: Array [0..MAX_PATH] of Char;
bufSize: Integer;
begin
bufSize := GetWindowText(hwndItem, buf, MAX_PATH);
ExtTextOut(lpdis.hDC,
(lpdis.rcItem.Right - ts.cx) div 2,
(lpdis.rcItem.Top + ts.cy) div 2,
ETO_CLIPPED, @lpdis.rcItem, szText, bufSize, nil
);
end;
Wenn du den Speicher sowieso pauschal anforderst, dann kannst du ihn auch automatisch bereit stellen lassen. Wenn du die Textlänge später noch brauchst, dann solltest du sie zwischenspeichern. Die DIV Operation muss nicht viermal ausgeführt werden. Alles Kleinigkeiten.
Grüße vom marabu