• ベストアンサー

delphi stringgrid

Delphi StringGrid で 各セルごとにフォントの色や大きさを変えたりできますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

標準のTstringGridのままでは出来ませんので、コレを使うと楽です。 http://www.delphianworld.com/ TStrColGrid 文字位置:文字色:セル色:セル幅 等欲しいと思われる基本機能が実装されています。 他にもいくつかグリッドがあるので、自分の用途に合うものを探してみてはいかがでしょうか。

situmonnsya
質問者

補足

ありがとうございます。 とても良いコンポーネントと思います。 でも、 悲しいです。 インストールの方法がわかりません。 DLファイルのドキュメントを読んでも理解できません。 >通常のコンポーネントインストール手順 ってどうするんでしょう? よろしければ、参考サイトでも紹介頂ければ幸です。

その他の回答 (5)

回答No.6

Delphi2005以降?コンポーネント追加方法が変わりました。 お使いのDelphiが2005以降ならヘルプで「パッケージ, ユニット」を参照してください。 多少の読みかえは必要です。 //-- ダウンロードしたコンポーネントを自分の管理できる場所に移動しておきます。 ファイル→新規作成→パッケージ プロジェクトマネージャに Package1.bpl と言うツリーができます。 Package1.bplで右クリックすると、追加というメニュがありますので追加から、コンポーネントの.pas を追加します。 Package1.bplで右クリックすると、インストールと言うメニューもあります。 インストールすると、コンポーネントが追加されるはずです。

situmonnsya
質問者

お礼

delphi6 でしたが うまく追加できました。 ありがとうございます。

  • techa
  • ベストアンサー率60% (41/68)
回答No.5

わたしはCBなのでDelphiではないのですが、おそらく大差ないはずです。 メニューの コンポーネント - コンポーネントのインストール をえらび、 ユニットファイル名のところに所定のコンポーネントを 指定します。 あとはコンパイルして導入、保存すれば、どこかのタブに アイコンがついかされているとおもいます。

situmonnsya
質問者

お礼

#4のサンプルを再検討したら、なにも複雑ではないですね。 とても参考になってます。 ありがとうございます。

  • techa
  • ベストアンサー率60% (41/68)
回答No.4

#3です。 なんとなく近いサンプルが以下のページにあります。 参照されるのもよいのではないかと思います。

参考URL:
http://forum.nifty.com/fdelphi/faq/00105.htm
situmonnsya
質問者

お礼

ありがとうございます。 結構コードが複雑になりそうですね。 参考にさせて頂きました。

  • techa
  • ベストアンサー率60% (41/68)
回答No.3

できますよ。私はCB6でいつもやっているので、出るφにはうまく書き換えてくださいね。 StringGridのDefaultDrawingプロパティをfalseにすると標準のフォント設定やらなにやらが全てOffの状態になるので、OnDrawCellイベントを実装します。 if(State.Contains(gdFixed)) { //固定セルだったら... sgrid->Canvas->Brush->Color= sg->FixedColor; else if(State.Contains(gdFocused)){ //フォーカスのあるセルだったら... } のようにそれぞれ記述して RECT r=RECT(Rect); sgrid->FillRect(Rect); //背景色で消去 で背景色が決められます。 同様に sgrid->Canvas->Font->Color= sgrid->Font->Color; のなどをセットしておいて InflateRect(&r,-2,-2); //テキスト表示領域の設定 とすれば、フォントカラーがきめられます。

回答No.2

TStringGrid の OnDrawCell イベントで描画処理をすることで、実現できます。

関連するQ&A