• 締切済み

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

現在、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

  • 文字の反転を検知

    ブログなどの記事を書く画面みたいなものをVB6.0で作りたいと思っています。 ●記事を書くエリア ●効果ボタン(Bold、Under..) ○文字を反転させ、ボタンを押すとその選択された文字に効果が適用される。 ↓自分ではこんな方法を考えてみました↓ 1.テキストエリアに文章を入力  *このマフラーかわいいでしょ。 2.効果をつけたい文字を反転  *「マフラー」を反転。 3.効果ボタンを押す  *「マ」の前に<Bold>   「-」の後に</Bold>を挿入。 それで、文字を反転させたときにそれがどの位置なのかを検知する方法はないでしょうか? この方法では無理な場合は、どんな方法なら作ることが可能なのでしょうか? お願いします。

  • ListViewから選択中の文字列を取得

    VB2005の初心者です。 タイトル通り、ListViewから選択中の文字列によって処理を変えるプログラムを構築しようとしているのですが、うまくいきません。 ComboBoxの場合では Private Sub button1_Click~ If ComboBox1.SelectedItem = "テスト" Then 処理 End if でうまくいったのですが、ListViewの場合では Private Sub button1_Click~ If ListView1.SelectedItems = "テスト" Then 処理 End if と指定すると 「エラー 1 これらの引数で呼び出される、アクセス可能な '=' がないため、オーバーロードの解決に失敗しました」 とエラーがでます。 ListViewから選択中の文字列を取得するには「.SelectedItems」では取得できないのでしょうか? VBに詳しい方ご教授お願いします。

  • リストビューでのドラッグ&ドロップでの反転表示

    VC++にてエクスプローラもどきを作成していて、 ドラッグ&ドロップの操作を実装中です。 ListViewにて、OnLButtonDown内で マウスで押下されたフォルダイメージを CreateDragImageで作成しマウスカーソルを変更しました。 そして、ドラッグ中に、別フォルダへカーソルが移動した際、 そのフォルダを反転させるために、 OnDragOver内で、まず、全ての選択状態をクリアし、 for ( i = 0; i < list.GetItemCount(); i++ ){   item.iItem = i;   ListView_GetItem( list, &item2 );   item2.state = 0;   item2.stateMask = LVIS_SELECTED;   ListView_SetItem( list, &item ); } 対象となるフォルダのLV_ITEMを取得後に、 item.state = LVIS_SELECTED; item.stateMask = LVIS_SELECTED; ListView_SetItem( list, &item ); を行い選択状態に変更させました。 一応、ドラッグ&ドロップは、ある程度できているのですが、 描画が汚く、下記の2点について困っています。 1.ドラッグされたフォルダの反転表示が綺麗ではない(画像参照) 2.カーソル下に何のフォルダも無い場合は、   全ての選択状態をクリアだけでDragOverの処理を終了しているが、   前回選択状態にしたフォルダが反転表示(汚い状態で…)されたまま なにか、修正方法はありますでしょうか?

  • 【CSS】文字を選択した時のように反転したい

    マウスや、シフト+矢印で文字を選択すると、選択された文字が反転します(私が使っているブラウザですと、白地に黒の文字だと青背景の白字で反転されます)が、このような表現をCSSで実現するにはどうしたらよいでしょうか?(選択しない状態で選択されたような色にしたい) colorに白とbackground-colorに青を指定しても出来そうですが、 ブラウザによっても反転時の色って違うような気がするので、汎用的に記述できれば良いなあと考えております。

    • ベストアンサー
    • HTML
  • VB6のWebBrowserコントロールのテキストボックスについて

    VB6でWebBrowserコントロールを使用してテキストボックスを表示しており。テキストボックス内の入力文字列がSelect(反転表示され選択されている状態)されている場合に、Select状態を解除する方法を知りたいのですが、よろしくお願いいたします。

  • 反転文字

    文字の反転について教えてください。 ソフトはホームページビルダーを使っています。 タイトルロゴを白抜きの文字で作成したいのですが(上の教えて!goo白抜き文字のような感じ)、ロゴの作成から詳細設定で反転文字は作れました。 背景は白色なので、テーブル内のタイトルロゴ周り以外は白色です。どうすれば、背景色の白色をタイトルロゴ周りの色と同じ色にできるのか教えてください。 宜しくお願いします。

  • 文字の反転について

    文字の反転について教えてください。 ソフトはホームページビルダーを使っています。 タイトルロゴを白抜きの文字で作成したいのですが(上の教えて!goo白抜き文字のような感じ)、ロゴの作成から詳細設定で反転文字は作れました。 背景は白色なので、テーブル内のタイトルロゴ周り以外は白色です。どうすれば、背景色の白色をタイトルロゴ周りの色と同じ色にできるのか教えてください。

  • 透明文字か反転表示できない

    「ご覧になりたい人は反転表示してください」となっているHP上の透明文字の部分ですが、以前はマウスドラッグ→右クリックで反転表示できたのですが、できなくなりました。マウスポインタの絵は「手のひら開いた状態」で、右クリックすると、「掴んだ形」になって、マウスを動かすとそのままサイトがスクロールしてしまいます。どうすれば反転表示できますかおお教えください。お願いします。

  • 最適なコントロールは??

    お世話になっております。 現在、ExcelVBAで、シート上のある情報を、フォーム上のListViewコントロールに移し、時間と共に上から反転(選択状態)となるコーティングをしています。 (例:↓リスト[ListViewコントロール]) 名前1 , 0:05 名前2 , 0:03 名前3 , 0:10 ・・・ ↑この場合、「スタート」ボタンを押すと同時に、5秒経つと「名前1」の行が、さらにそこから3秒経つと「名前2」の行が選択状態になるといった代物です。 ここで例えば「名前2」のListItemと「名前3」のListItemのリストの順番を逆にしようとした場合、選択した瞬間に、今まで選択状態だったものが解けてしまいます。おまけにこのListViewコントロールはセルのバックカラーを変更することもできません。 説明が長くなってしまったのですが、同じようなコントロールで、「FlexGrid」・「DataGrid」・「DataList」等いろいろありますが、セルのバックカラーを自由に変えれるコントロールはありますでしょうか?もしくはこれらのコントロールの使用方法等を記載したサイト等を教えていただけないでしょうか?いろいろ探してはみたのですがなかなか見つかりません。よろしくお願いします。

  • 反転する時の色を変えたいのですが

    エクセルやワードで、入力した文字列を選択したときに(コピーする時など) 反転がする色が、どうしても黒になってしまいます(IEは青に反転しますが)。 この反転する色を黒以外の色にしたいのですが可能でしょうか?

専門家に質問してみよう