• ベストアンサー

文字色の変更について

 こんにちは。いつもお世話になっております。  プログラミングの初心者で、現在VC++でプログラムを作成しています。環境は、OSがWindowsXP、統合環境はVisualStudio2008Professionalを使用しています。  プログラムの中でDataGridViewを使用しているのですが、1つの列のデータについて、条件によって表示する数値の文字色を変更したいのですが、方法が分かりません。初歩的な質問で申し訳ないのですが、よろしくお願いいたします。m(_)m

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

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

.NET Framework(C++/CLI)でいいですか? 各セルのオブジェクト(DataGridViewCell)にあるStyleプロパティを設定すれば、セル単位での書式設定が可能なようですが。 http://msdn.microsoft.com/ja-jp/library/system.windows.forms.datagridviewcell.style(VS.80).aspx

watataku70
質問者

補足

 こんにちは、D-Matsuさん。早速の回答ありがとうございました。m(_)m  教えていただいたMSDNのページを参考にプログラムを書いてみたのですが、うまくいきませんでした。(エラーは出ないのですが、表示色が変わりませんでした)GridJissekiという名前のDataGridViewの1行5列目の表示色を赤に変更する意図で、以下のような内容をプログラムに追加しました。ちなみに.NET Frameworkを使用しています。 GridJisseki[5, 1]->Style->ForeColor = Color::Red; //test  構文が間違っているのでしょうか? また、DataGridViewに何らかの設定は必要なのでしょうか? お手数ですが、回答をお願いいたします。m(_)m

その他の回答 (1)

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.2

VBとC#だけですが、もうちょい詳しいサンプルがありました。 http://msdn.microsoft.com/ja-jp/library/z1cc356h.aspx > 1行5列目の表示色を赤に変更する意図で、 > GridJisseki[5, 1]->Style->ForeColor = Color::Red; //test try~catchしたら例外が出てるかもしれません。 というのもDataGridViewは[0, 0]が起点なので、1行5列だと[4, 0]になるはずだからです。

watataku70
質問者

お礼

 D-Matsuさん、早速の回答ありがとうございました。お陰さまで問題を解決できました。(^^)(文字色を指定した文の記述場所が問題だったようです)  また、何かありましたらよろしくお願い致します。ありがとうございました。m(_)m

関連するQ&A

  • Listクラスについて

     こんにちは。いつもお世話になっております。  プログラミングの初心者で、現在VC++でプログラムを作成しています。環境は、OSがWindowsXP、統合環境はVisualStudio2008 Professionalを使用しています。  プログラムの中で配列の代わりにListクラスを使いたいのですが、Listのインデックスを指定して値を代入することができません。MSDNではinsertメソッドでインデックスを指定して挿入ができるように書かれているのですが・・・・・。リストは整数を格納するためのもので、 List<int>^ zangakuList; と、宣言してメソッドの中では、 zangakuList->Insert(i, item->Money); のように使用しています。ちなみに、iの代わりに0を設定するとリストの先頭に値が代入されます。  お手数ですが、原因がお分かりの方、よろしくご教授ください。m(_)m

  • VC++の印刷について

     VC++を勉強中のプログラミング初心者です。以前にC言語をかじった程度のレベルの者です。環境はOSはwindowsXPを、開発環境は VisualStudio2008professionalを使用しています。  現在VC++で簡単な家計簿ソフトを作成しているのですが、画面を印刷する方法が分かりません。メインフォーム画面をそのまま印刷したいのですが、どなたか方法(又は参考となる書籍、サンプルコード等)をご存知の方がいらっしゃいましたら、ご教授のほどよろしくお願い致します。m(_)m  

  • 文字列の加算

    OS  :WindowsXP Pro SP1 開発環境:VisualStudio .NET 2003 開発言語:C# 開発形態:Windowsアプリケーション プログラミング初心者です。どうかよろしくお願い致します。 現在、あるアプリケーションを作成しております。 その中で、数値の入った文字列を受け取り、それを全て加算しようとしております。 例えば、 引数の文字列が"123456789"だとしたら、そのメソッド内で1+2+3+4+5+6+7+8+9を計算し、答えを返却値とする。 私は文字列をint型にキャストして計算しようと思ったのですが、うまくキャストできません。string型はint型にキャストできないのでしょうか? また他に文字列の数値の加算をする方法がありましたら、どなたかご教授お願い致します。

  • マウスカーソルの変更

    現在VC++6.0でプログラミングを行っています。 プログラム動作としてはマウス左クリックである動作を行います。しかし都合上マウスのカーソル表示を消したいと思っています。 どなたか教えていただけないでしょうか? マウスに関しての設定はウィンドウズでもできるので、プログラミングでなくても結構です。 プログラミングに関しては素人なので初歩的な質問かもしれませんがよろしくお願い致します。

  • VB2005 DataGridView内のチェックボックス

    DataGridView内に生成したチェックボックスのどれか一つでもチェックされると、あらかじめ作っておいたボタンのEnabledをTrueにする。 というプログラムを制作しようとしているのですが、チェックボックスをチェックしたときのイベントの取得方法がわからず、困っています。 どういったプログラムを書けば、イベントを取得できるのでしょうか。 どうかご教授ください。 【制作環境】  ・Windows XP Professional  ・Microsoft VisualStudio2005  ・Microsoft .Net Framework 3.0

  • [VC++] CSVファイルから読み込み、DataGridViewに表示したい

    初めまして。プログラミング初心者でありまして、知識はC言語を少しかじった程度です。 今回プログラムを行う上で、C++や.NETを独学しています。 大分色々な書籍を読んだり、ネットも廻ったのですが、まだまだ理解に乏しい部分が多いです。 なかなか調べても解らない部分が多いため、皆さんの知識をお貸しいただきたいと投稿させていただきました。 よろしくお願いします。 VC++2005のC++/CLIでプログラムを作成しています。 CSVファイルから内容を読み込み、DataGridVeiwに表示させたいと考えています。 条件は以下のような感じです。 ・ファイル内容は数字のみ 例)1,2,3,1,0,6,0,4   7,1,5,1,8,0,1,0   1,0,1,6,0,5,1,9 ・読み込むごとに行列の長さが違う ・行や列のヘッダーは無し 出来上がりイメージとしては 第2回 DataGridViewコントロールでマインスイーパ http://www.atmarkit.co.jp/fdotnet/vblab/gridlab_02/gridlab_02_01.html 読み込むCSVファイルのサイズによってセル数が変わるようにしたいです。 ファイルを読み込んでDataGridViewに表示させるという、初歩的な部分から詰まってしまっています。 一部分のことでもいいので、どうかご教授願います。

  • VCでビープ音

    いつもお世話になっております。 今回はVC++でつくったアプリケーションでビープ音が鳴らしたいのですが、 普通のMessageBeepではなくて、マザーボードについているスピーカーからビープを鳴らしたいです。 よく起動時にピッってなるあのスピーカーから鳴らしたいのですが可能でしょうか。 ご存知の方がおられましたらご教授願います。 環境 WindowsXP SP3 VisualStudio2005 professional よろしくお願いします。

  • DDVによるメッセージの変更

    WindowsXP VC++ 6.0 ダイアログのエディットボックスへの入力値チェックにDDVを 使用していますが、チェックに引っかかった時のメッセージを 変更することは出来ないのでしょうか? 例えば、0~99までの数値を入力する場合、 DDV_MinMaxLong(pDX, m_m_lHoge, 0, 99); としており、100を入力すると 「0から99までの整数を入力してください。」 と表示されます。このメッセージを変更したいのです。 以上、よろしくお願い致します。

  • VB2005 DataGridViewでの非バインド文字列のこと

    VB2005でDataGridViewを使ってプログラムをしているのですが。  DataTableとBiding(リンク?)しているDataGridViewで。 DataTableとバインドしてない項目X(非バインド列)をDataGridViewに新たに追加して。 例えば、DataTableの項目Yが1だと項目Xも1という風に表示させたいのですが。 一度目はうまく表示されるのですが。その画面を閉じてまた開いたら表示されないのですが。 どうしたら良いでしょうか?アドバイスをお願いします。 開発環境: XinXP Pro SQL Server2005 Express VS2005 Pro VB2005

  • DataGridViewで指定列の背景色の変更

    いつもお世話になっております。 C#の開発環境で、「DataGridView」を使用しているのですが、指定した列の色を変更するプログラムを作成しています。 現在、フォーム上に配置したDataGridView「dgvTable」のセルの列の背景色を、 「更新」ボタン押して変更するプログラムを作成しています。 ソースは以下の通りです。 for( int i = 0; i < selectCols; i++) { dgvTable.Columns.Add("col",""); dgvTable.Columns[i].DefaultCellStyle.BackColor = Color.LightGreen; } このループで背景色を変更したつもりでしたが、反映されませんでした。 変更する列の数は変動するので、フォームのロードイベントで変更することができません。 どのようにコードを書けば、背景色が反映されるかをご教授願えないでしょうか? よろしくお願いします。

専門家に質問してみよう