- ベストアンサー
delphi stringgrid
Delphi StringGrid で 各セルごとにフォントの色や大きさを変えたりできますか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
標準のTstringGridのままでは出来ませんので、コレを使うと楽です。 http://www.delphianworld.com/ TStrColGrid 文字位置:文字色:セル色:セル幅 等欲しいと思われる基本機能が実装されています。 他にもいくつかグリッドがあるので、自分の用途に合うものを探してみてはいかがでしょうか。
その他の回答 (5)
- miyazi-G4
- ベストアンサー率55% (5/9)
Delphi2005以降?コンポーネント追加方法が変わりました。 お使いのDelphiが2005以降ならヘルプで「パッケージ, ユニット」を参照してください。 多少の読みかえは必要です。 //-- ダウンロードしたコンポーネントを自分の管理できる場所に移動しておきます。 ファイル→新規作成→パッケージ プロジェクトマネージャに Package1.bpl と言うツリーができます。 Package1.bplで右クリックすると、追加というメニュがありますので追加から、コンポーネントの.pas を追加します。 Package1.bplで右クリックすると、インストールと言うメニューもあります。 インストールすると、コンポーネントが追加されるはずです。
お礼
delphi6 でしたが うまく追加できました。 ありがとうございます。
- techa
- ベストアンサー率60% (41/68)
わたしはCBなのでDelphiではないのですが、おそらく大差ないはずです。 メニューの コンポーネント - コンポーネントのインストール をえらび、 ユニットファイル名のところに所定のコンポーネントを 指定します。 あとはコンパイルして導入、保存すれば、どこかのタブに アイコンがついかされているとおもいます。
お礼
#4のサンプルを再検討したら、なにも複雑ではないですね。 とても参考になってます。 ありがとうございます。
- techa
- ベストアンサー率60% (41/68)
#3です。 なんとなく近いサンプルが以下のページにあります。 参照されるのもよいのではないかと思います。
お礼
ありがとうございます。 結構コードが複雑になりそうですね。 参考にさせて頂きました。
- techa
- ベストアンサー率60% (41/68)
できますよ。私は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); //テキスト表示領域の設定 とすれば、フォントカラーがきめられます。
- みい ちび(@MICHIBI)
- ベストアンサー率26% (15/56)
TStringGrid の OnDrawCell イベントで描画処理をすることで、実現できます。
補足
ありがとうございます。 とても良いコンポーネントと思います。 でも、 悲しいです。 インストールの方法がわかりません。 DLファイルのドキュメントを読んでも理解できません。 >通常のコンポーネントインストール手順 ってどうするんでしょう? よろしければ、参考サイトでも紹介頂ければ幸です。