Jak w StringGrid w jednym polu wpisać tekst jeden pod drugim?
Np. zeby nie było "Marek Kowalczk"
tylko
"Marek
Kowalczyk"

- Rejestracja:ponad 22 lata
- Ostatnio:ponad 9 lat
- Postów:481
Zmień DefaultDrawing Stringgrida na False, a następnie w OnDrawCel napisz jak ma być on rysowany i co ma być pisane w komórkach.
przykład który ci podaje nie jest dopracowany, ale spełnia zadanie:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
Wysokosc: Integer;
begin
with StringGrid1.Canvas do
begin
if gdSelected in State then
Brush.Color := clNavy else Brush.Color := CLWhite ;
if gdFixed in State then Brush.Color := StringGrid1.FixedColor;
FillRect(Rect);
Wysokosc :=DrawText( Handle, PChar(StringGrid1.Cells[ACol, ARow]), -1, Rect, DT_NOPREFIX or DT_CALCRECT );
if ( Wysokosc > (StringGrid1.RowHeights[ARow] - 2) ) then
StringGrid1.RowHeights[ARow] := Wysokosc + 4;
DrawText( Handle, PChar(StringGrid1.Cells[ACol, ARow]), -1, Rect, DT_NOPREFIX );
end;
end;
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.