掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
StringGridセルの結合で・・・ (ID:17245)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
行間のセル結合したく、下のコードのようにして1列目の1行目〜3行目を結合しました。 しかしながら、2列目の文字が描画がされません。 2列目のセルに一度フォーカスを移すと描画します。 なぜこのようになるのか、どのようにしたら2列目が普通に描画されるのか分かりません。 どなたか教えてください。宜しくお願いします。 procedure TForm1.FormCreate(Sender: TObject); var r, c : SmallInt; begin for r := 1 to 4 do for c := 1 to 4 do StringGrid1.Cells[r, c] := 'aaa'; end; procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin with TStringGrid(Sender) do begin DefaultDrawing := True; if (ARow > 0) and (ACol = 1) then begin DefaultDrawing := False; case ARow of 1 : Rect.Bottom := Rect.Bottom + RowHeights[2] + RowHeights[3]; 2 : Rect.Bottom := Rect.Bottom + RowHeights[3]; end; case ARow of 3 : Rect.Top := Rect.Top - RowHeights[2] - RowHeights[1]; 2 : Rect.Top := Rect.Top - RowHeights[1]; end; Canvas.FillRect(Rect); DrawText(Canvas.Handle, PChar(Cells[ACol, ARow]), -1, Rect, DT_SINGLELINE or DT_CENTER or DT_VCENTER); end; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.