dポイントプレゼントキャンペーン実施中!

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

A 回答 (6件)

標準のTstringGridのままでは出来ませんので、コレを使うと楽です。


http://www.delphianworld.com/
TStrColGrid

文字位置:文字色:セル色:セル幅 等欲しいと思われる基本機能が実装されています。
他にもいくつかグリッドがあるので、自分の用途に合うものを探してみてはいかがでしょうか。

この回答への補足

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

補足日時:2006/03/14 22:21
    • good
    • 1

Delphi2005以降?コンポーネント追加方法が変わりました。


お使いのDelphiが2005以降ならヘルプで「パッケージ, ユニット」を参照してください。
多少の読みかえは必要です。

//--
ダウンロードしたコンポーネントを自分の管理できる場所に移動しておきます。
ファイル→新規作成→パッケージ
プロジェクトマネージャに Package1.bpl と言うツリーができます。
Package1.bplで右クリックすると、追加というメニュがありますので追加から、コンポーネントの.pas を追加します。

Package1.bplで右クリックすると、インストールと言うメニューもあります。
インストールすると、コンポーネントが追加されるはずです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/15 17:27

わたしはCBなのでDelphiではないのですが、おそらく大差ないはずです。



メニューの
コンポーネント - コンポーネントのインストール
をえらび、
ユニットファイル名のところに所定のコンポーネントを
指定します。
あとはコンパイルして導入、保存すれば、どこかのタブに
アイコンがついかされているとおもいます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/15 17:30

#3です。


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

参考URL:http://forum.nifty.com/fdelphi/faq/00105.htm
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/14 22:33

できますよ。

私は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); //テキスト表示領域の設定
とすれば、フォントカラーがきめられます。
    • good
    • 0

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

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!