リストビュー、ツリービューの選択時の色がなくなる(XP)

このQ&Aのポイント
  • Becky、OutlookExpressなどの複数のソフトで、ツリービューとリストビューの選択時の色がなくなってしまう問題が発生しています。
  • フォーカスがあるときは背景色が青で、通常どおりどれが選択されているかわかるのですが、フォーカスを他のコントロールに移動させると、背景色が薄い灰色になり、どれが選択されているかがわかりづらくなってしまいます。
  • この問題はXPスタイル(標準)の画面スタイルで発生し、Windows2000スタイルに変更すると解消されますが、プログラムの開発をしている関係上、XPの標準状態のままで問題を解決したいと考えています。
回答を見る
  • ベストアンサー

リストビュー、ツリービューの選択時の色がなくなる(XP)

Becky、OutlookExpressなどの複数のソフトで、ツリービュー(Outlookの左側のコンポーネント)、リストビュー(Outlookの右下側のコンポーネント)に関し、次の症状で困ってます。 ・フォーカスがあるときは背景色が青で、通常どおりどれが選択されているかわかる ・フォーカスを他のコントロールに移動させると、背景色が薄い灰色となり、目をよほど凝らしてみないとどれが選択されているかわからない ・上記症状のでるPCで、画面のスタイルをXPスタイル(標準)からWindows2000スタイルにすると上記症状はなくなり、非選択状態でもどれが選択されているかわかるようになる。詳細設定をいろいろいじりましたが、解決できませんでした ・上記状態は、Windows2000マシンでは発生せず、XP固有の問題だと考えられます Windows200スタイルにしてしまえば解決するのはわかりますが、プログラムの開発をしている関係上、XP標準状態のままでいたいと思ってます。 よろしくお願いします

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

  • ベストアンサー
  • chokuto
  • ベストアンサー率40% (2/5)
回答No.1

試してみたところ、画面のデザインの設定で「3D オブジェクト」の色を変更すると、非アクティブウィンドウのコントロールの選択色も変わるようです。

関連するQ&A

  • リストビューの選択状態を取得するメッセージはありますか?

    リストビューが選択状態(1行が青色や灰色の背景になる状態)にあって、エディットボックスが空欄では無いときに、 あるボタンを有効にするという処理をしたいと思っています。 リストビューが選択されていることを教えてくれるメッセージがあれば、教えてください。よろしくお願いします。 環境:Win32 API, VC++6.0

  • 他アプリのツリービューの指定アイテムをフォーカスする方法

    他アプリのツリービューの指定アイテムをフォーカスする方法 他アプリのツリービューの指定アイテムをフォーカスすることが出来なく困っております。 (質問) 指定アイテムをマウスクリックを行った際の状態のように、背景色が青になり選択 されている状態にする方法について教えていただきたいです (やりたいこと) Visual C++で作成したアプリから他アプリを呼び出し、他アプリのツリービューの指定 アイテムを選択した状態でOKボタンをクリックすることで、指定したアイテムの読み込みが成功すること (現状) 他アプリのツリービューの指定アイテムが選択された状態にならず(アイテムのハンドル は取得できているが、選択されているアイテムの背景色が灰色のまま)、OKボタンを クリックしても選択されていないため、エラーとなる (環境) 当方の環境は、WindowsXP&VisualC++6.0を使用しております。 以上、よろしくお願いします。

  • リストビューにフォーカスを設定するには

    開発環境はVC++6.0、SDK、Windows2000です。 CreateWindowEx( 0, WC_LISTVIEW, "", WS_CHILD | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 10, 10, 515, 271, hdwnd, (HMENU)100, hInstance, NULL); 上記APIでリストビューを表示しているのですが、表示直後には先頭ラインにフォーカスが設定されません。 当然表示された後にマウス操作にてラインをクリックするとフォーカスがあたるのですが、 表示された直後に指定行にフォーカスをあてたい場合にはどうすればよいでしょうか? ご存知の方ご教授お願いします。

  • ACCESSデータシートビューの範囲選択

    ACCESS2007のサブフォームをデータシートビューで表示しており、メインフォームにコマンドボタンを配置しおります。 サブフォームで範囲選択してコマンドボタンをクリックして処理を実行、またサブフォームにフォーカスを戻し、範囲選択の状態に戻したいと考えております。 単一行であればSelTop、SelHeightを使用して下記の方法で戻れるのですが サブフォーム名.SetFocus DoCmd.RunCommand acCmdSelectRecord 選択範囲が複数行の場合に1行目のみ選択状態になってしまいます。 sendkyes "+{down}" を組み合わせて複数選択の状態にはなるのですが、 選択範囲が数十行ある場合に描画に非常に時間が掛かり困っております。 vbaで範囲選択する方法があればご教授下さい。

  • PhotoshopCS6の色選択について教えて!

    PhotoshopCS6を使っています。 ちょっと前からなのですが、 スウォッチや、カラーピッカーなどで選択した色が、 描画色の枠に入らず、背景色の枠に入ってしまい、 いちいち→をおして、入れ替えて色を付けないといけない状態になっています。 これから仕事をしていくにあたって、非常に面倒なので、なんとか解決したいと思い、 色々と検索をかけてみたのですが、あまり例がないようで・・・。 もし、ご存じの方がしらっしゃいましたら、原因と対策を教えていただきたいです。 よろしくおねがいします!!!

  • Photoshopでペイントと同じ色選択画面が出てくる

    症状はタイトルの通り、色の選択画面が、通常と違う、ペイントでも出てくる48色しか選択できない画面が出てきてしまいます。 また、読み込む画像の色もちょっと元と違うようです。 何か解決策はあるのでしょうか? ちなみに再インストールしても同じ症状です。 Windows XP HomeEdition Photoshop7.0

  • リストビューのカスタムドローについて

    Windows XP SP3 + Visual Studio 2008 C++ で、リストビューを使用したダイアログベースのソフトを作っています。 リストビューには、ファイル名、ファイルサイズ、最終更新日時を「詳細」で表示させています。(よくあるファイル一覧です。) エクスプローラと同じように、ファイル名等のテキストを NTFS の圧縮ファイルは青 暗号化ファイルは緑 で表示させようと思い、カスタムドローを使用しています。 また、圧縮でもなく暗号化でもないファイルに対しては、ChooseFont() で選択された色 ( CHOOSEFONT 構造体の rgbColors ) を設定しています。 ChooseFont() で選択した色のうち、濃紺以外の色は問題なく表示されているのですが、なぜか、ChooseFont で濃紺 ( 0x00800000 ) を選択した場合だけ、第一列 ( ファイル名 ) のみ濃紺になり、第二列目以降 ( ファイルサイズ、最終更新日時 ) が、システム設定値 ( 黒 ) となります。 しかも、リストビューのスタイルを拡張スタイルの LVS_EX_FULLROWSELECT ( 行選択モード? ) にすると、濃紺の場合でも、第二列目以降も正常に表示されます。 コーディングは、カスタムドローの部分だけを抜粋すると以下のような感じになっています。 LPNMLVCUSTOMDRAW pnmlvcd; LVITEM lvi; DWORD dwAttributes; switch( message ) { case NM_CUSTOMDRAW:   pnmlvcd = ( LPNMLVCUSTOMDRAW )lParam;   switch( pnmlvcd->nmcd.dwDrawStage ) {   case CDDS_PREPAINT:     SetWindowLong( hwndMain, DWL_MSGRESULT, ( LONG )CDRF_NOTIFYITEMDRAW );     return( TRUE );   case CDDS_ITEMPREPAINT:     lvi.mask = LVIF_PARAM;     lvi.iSubItem = 0;     lvi.iItem = pnmlvcd->nmcd.dwItemSpec; // 描画しようとしている行のインデックス     if( ListView_GetItem( hwndList, &lvi ) ) {       // 属性を取得       // lvi.lParam はファイルの情報を格納した構造体 FILEITEM へのポインタです。       dwAttributes = ( ( PFILEITEM )lvi.lParam )->dwAttributes;       if( 通常ファイルの場合 ) {  // dwAttributes を使用して属性を判定         // ChooseFont で選択した色を設定         pnmlvcd->clrText = cfList.rgbColors;         SetWindowLong( hwndMain, DWL_MSGRESULT, ( LONG )CDRF_DODEFAULT );         return( TRUE );       } else if( 圧縮ファイルの場合 ) {  // dwAttributes を使用して属性を判定         // 青         pnmlvcd->clrText = RGB( 0, 0, 0xff );         SetWindowLong( hwndMain, DWL_MSGRESULT, ( LONG )CDRF_DODEFAULT );         return( TRUE );       } else if( 暗号化ファイルの場合 ) {  // dwAttributes を使用して属性を判定         // 緑         pnmlvcd->clrText = RGB( 0, 0xff, 0 );         SetWindowLong( hwndMain, DWL_MSGRESULT, ( LONG )CDRF_DODEFAULT );         return( TRUE );       }     }   }   break; hwndMain はダイアログのウィンドウハンドル、hwndList はリストビューのウィンドウハンドルです。 (見やすくするため、スペースに全角スペースを使用しています。また、属性の判定部分は実際には dwAttributes との、&、| を使用しています。) コーディング的には、ChooseFont() で何色が選択されようが知ったこっちゃないという感じなのですが・・・。 試しに、ChooseFont() で選択した色ではなく、RGB( 0, 0, 0x80 ) を指定しても同様の現象でした。 濃紺の場合でも、LVS_EX_FULLROWSELECT でなくても第二列目以降が正しい色で表示されるようにする方法はないでしょうか。 このリストビューは Drag & Drop のソース側の機能も実装していまして、その影響で、LVS_EX_FULLROWSELECT だと、Drag 操作による複数行選択の操作が難しくなるので、LVS_EX_FULLROWSELECT は避けたいと考えています。 あるいは、上記のコーディングで、何かおかしいんじゃないかという部分がありましたら教えていただけませんでしょうか。 よろしくお願いします。

  • Windows XP スタイルが選択できない

    あけましておめでとうございます。 症状: 画面のプロパティ/デザイン/ウィンドウとボタン/の設定にて Windows XPスタイルが表示されなくなりました。 確認事項: 管理ツール/サービス/Themesのプロパティを確認。 実行ファイルのパス  C:\WINDOWS\System32\svchost.exe -k netsvcs スタートアップの種類 自動 サービスの状態    停止 それならば、開始ボタンをぽちっと押すと サービス ローカルコンピュータのThemesサービスを開始できません。 エラー1083:このサービスを実行するように構成された実行プログラムは、サービスを実装していません。 というダイアログが表示されます。 ファイルの確認 C:WindowsResources\Themes\Luna にはShellというファイルとluna.msstylesというフォルダが存在しています。 luna.msstylesをダブルクリックすると、画面のプロパティが表示され Windows XPスタイルが選択項目に現れますが選択すると、 視覚スタイルの読み込みエラー ファイルが次の読み込みに失敗したので、視覚スタイルを読み込めませんでした。そのサービスは指定時間内に開始要求または制御要求に応答しませんでした。 詳細:空白 というダイアログが表示されます。 その他: luna.msstylesを削除 セーフモードから、コピーしたluna.msstylesを上書き。 このような症状ですが、改善策をご存知の方がいらっしゃればご教授願いたいです。

  • カーソルがあっても背景色を透明のままにしたい

    フォームの背景の色を変え、テキストボックスを置き、 背景スタイルを透明にして、既定地をテストとしました。 そしてそれをコピーしたすぐ下に貼りつけて、フォームビューにすると、 カーソルがテキストボックスにある場合、背景色が白になってしまいます。 フォーカスが離れると、色が透明になり、黄色になります。 色を変えたくないのですがどうすればいいですか? ちなみにアクセス2007です。

  • XPの起動時に・・・

    普通は立ち上げているときに「ようこそ」っていう表示がでますよね? これまでは「XP HOME・・」→「ようこそ・・」というふうに なんの問題もなく正常に起動していたのですがここ最近、 この「ようこそ」っていう表示が出ずに、 薄青い画面(無地)の背景で、砂時計表示の状態で 固まってしまうことがよくあります(ようこその画面が出ない状態です。)。 何度か強制終了して立ち上げれば普通に起動することもあるのですが・・・。 これはやはりOSの不都合でしょうか? 同じような症状をご存知の方、よろしければ対処法などを 教えてください! よろしくお願いします。

専門家に質問してみよう