• 締切済み

反転表示いた時のテキストの文字色を取得したい

現在、VB .NET 2.0 の環境で、ListViewコントロールを継承した カスタムコントロールで、VBのプロパティウィンドウ風のコント ロールを作成しています。 ListView上のセルを選択した際、反転されますが、 このときのテキストの文字色を取得する方法をご存知ないでしょうか? なぜこのような処理をしたいかというと、 ・作成しているコントロールでは、セルに色を矩形で示したものと  文字をDrawStringなどで描画しています。  (dpiの問題でこのような方法を使用しています。) ・セルを選択したとき、セルの右側にボタンを表示します。  見た目としてはプルボタン風。 ・このボタンをクリックすると色を選択するためのフォームを表示 という処理を行っているのですが、セルを選択し反転状態になると、 文字は黒で表示しているため、背景色のせいで文字が読みづらくなり ます。 はじめ、セルが選択状態かどうかで文字の色を変更しようとしたので すが、セル上のボタンをクリックすると、セルは選択状態なのに、 反転状態は解除されるという状態になるため、この手は使えません した。 それで、次の案として、普通のListViewでは反転時には自動で文字 の色が変わるので、この文字色を取得できないかと、その方法を調べて いる最中です。 急ぎで作成しなければならないため、十分に調べていない状態での質問 は失礼だとは思いますが、よい方法をご存知の方がいらしたら、是非 教えてください。

みんなの回答

  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.1

ちょっと調べてみたのですが、反転した時の文字色は SystemColors.HighlightText のようです。 フォームに適当なボタンを作って、 Me.ForeColor = SystemColors.HighlightText とだけ処理させるサンプルを作って実行、ボタンを押してみると、 フォーム上のボタンやラベル等の文字が白色になります。 (白というかシステム上のハイライト時の文字色として指定された色?) 詳しくはヘルプでSystemColorsを検索してみてください。

関連するQ&A