名前 題名 ▼ Syakeさん > DEKOさんのところで、TStringGridで文字列の描画位置に関するサンプルが出て > おります。 > http://ht-deko.minim.ne.jp/techf011.html > 大変参考になります。 > > 様々工夫のあるとこではありますが、私的には・・・・ > //-----------------------------------------------------------// > procedure TForm1.StringGrid1Paint(Sender: TObject; Canvas: TCanvas; > const ARect: TRectF); > var > i,j :Integer; > begin > with (Sender as TStringGrid) do > begin > for i := 0 to ColumnCount-1 do > begin > for j := 0 to RowCount-1 do > begin > if Assigned(TTextCell(StringGrid1.Columns[i].CellControlByRow(j))) then > begin > with TTextCell(StringGrid1.Columns[i].CellControlByRow(j)) do > begin > if (i mod 2 = 0) and (j mod 2 = 0) then > begin > TextAlign := TTextAlign.taCenter; > end else begin > TextAlign := TTextAlign.taLeading; > end; > end; > end; > end; > end; > end; > end; > //--------------------------------------------------------// > の方が良いような気がしました。 > > 動的に変更しやすのでは・・・ないか・・・と。 > 釈迦に説法です。m(_ _)m > > > ところで、TStringGridの子コントロールにTPlotGridを追加すると > 大変面白いことになります。 > procedure TForm1.Button1Click(Sender: TObject); > var > Col, Row: Integer; > begin > StringGrid1.BeginUpdate; > for Col := 0 to StringGrid1.ColumnCount-1 do > begin > for Row := 0 to StringGrid1.RowCount-1 do > begin > StringGrid1.Cells[Col, Row] := 'Cell[' + > IntToStr(Col) + ',' + IntToStr(Row) + ']'; > end; > end; > StringGrid1.EndUpdate; > end; > こんなんで、確認できます。 > > 実のところ・・・ > > StringGridで遊んでいたら、ある時表示が妙におかしいことに > 気がつきました。 > ちょっと土ツボにはまってました。(^_^;) > ふと見ると、StringGridの子コントロールにTPlotGridがいつの > 間にやら(って、自分がやったんじゃろ)追加されていて、はず > したら上手く(元に戻った)いったという落ちですけど...。 > > もっとも、こんな事する人いないでしょうが...。 > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link