StringGridのセルに複数行を表示するプログラムをDelphi2007からDelphi2010に移行しようとしましたが、項目の固定行、列は表示がおかしくなります。固定行、列以外は問題なく表示されます。
複数表示はつぎのようです。
//--- StringGrid1複数行の表示
procedure TYoteiIchiranForm.StringGrid1DrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
S : String;
Options : Integer;
begin
StringGrid1.Canvas.FillRect(Rect);
S := StringGrid1.Cells[ACol, ARow];
Rect.Left := Rect.Left + 2;
Rect.Top := Rect.Top + 2;
Options := DT_EDITCONTROL;
DrawTextEx(StringGrid1.Canvas.Handle, Pchar(S), Length(S), Rect, Options, nil);
end;
過去に下記の記事があります。
https://www.petitmonte.com/bbs/answers?question_id=6506
TSさん
記事の紹介ありがとうございました。
とりあえずDrawingStyleをgdsClassicにして解決としました。
ツイート | ![]() |