エクスプローラ(WinXP)のマウスでドラッグしたときの色を取得するには

解決


SO  2006-04-17 02:54:19  No: 21053

エクスプローラ(Windows XP)にて、マウスを範囲選択(ドラッグ)すると、
デザインの配色が青の場合は、薄い青に塗りつぶされると思うのですが、
この色をTColorの定数で表すと、どの色になるのでしょうか。
それとも、別の方法で取得するのでしょうか。


TS  2006-04-17 05:00:41  No: 21054

1 getcol(フリーソフト) 等の画面の配色を得るプログラムで色を取得
2 RGB の並びを  delphi用に変換
3 例  0a246a ->$6a240a 0000ff->$ff0000  
4 unit Graphics;のソースにその色があるか調べる
5 例  clBlue = TColor($FF0000);


igy  2006-04-17 05:23:04  No: 21055

clHighlight     選択した文字の背景色
clHighlightText 選択した文字の色

ですか?


SO  2006-04-17 05:43:00  No: 21056

TSさん、igyさん、返信ありがとうございます。

TSさん>
確かにその方法で再現できると思うのですが、Themeが変更された場合に
対応できなさそうです。(画面のプロパティ→デザインタブ→配色等が変更された場合でも)

igyさん>
ファイル、フォルダの選択時の色ではなく、マウスをドラッグした場合の
矩形内の色と、囲い線の色を取得したいです。
ただ、色は近い色を表しているのですが、エクスプローラと比べると
濃いです。


SO  2006-04-17 06:03:29  No: 21057

うまく伝わりにくいので、絵で表現してみます。

+--------------+--------+--------------+--------------+
|     名前     | サイズ |     種類     |   更新日付   |←カラムヘッダ
+--------------+--------+--------------+--------------+
| FileNmae1                                           |
| FileNmae2           +---------------+←A            |
| FileNmae3           |               |               |
| FileNmae4           |       B       |               |
| FileNmae5           |               |               |
| FileNmae6           |               |               |
| FileNmae7           +---------------+               |
| FileNmae8                            マウスドラッグ |
| FileNmae9                                           |
| ....                                                |
+--------------+--------+--------------+--------------+

範囲選択するときに塗りつぶされる色、AとBを知りたいです。


SO  2006-04-17 06:04:34  No: 21058

すみません。
崩れてしましました。。。


igy  2006-04-17 06:39:21  No: 21059

こちらで試している環境では、ドラッグ中の範囲選択内に色が付きませんが、
ドラッグ中の範囲選択内に色をつけるには、何か設定が必要ですか?
こちらは
Windows Xp Home SP2 で
「画面のプロパティ」の「テーマ」タブで、
「テーマ」欄:「Windows XP」に切り替えた直後の状態で試しています。


TS  2006-04-17 06:52:43  No: 21060

igyさんの言われる様に色は付きませんね
選択時には選択され他物に色が付くみたいですが
Aは色というより黒のドットの線です


TS  2006-04-17 06:54:40  No: 21061

され他−>された


TS  2006-04-17 07:01:58  No: 21062

勘違いしてました。
この質問の意味は現在使われているシステムの色を取得するには
でしようか


SO  2006-04-17 07:34:05  No: 21063

igyさん、TSさん、返信ありがとうございます。

igyさん>
説明が下手ですみません。
直リンですが、画像をアップしました。

http://zetubou.mine.nu/timer/file/bomber16107_h60.png

見ていただけないでしょうか。

TSさん>
おそらく、システムの色を取得するのだとは思うのですが、
どの色なのかが分からずです。


igy  2006-04-17 17:59:41  No: 21064

こちらで試している環境では、ドラッグ中の範囲選択内に色が付きません。
これは、Windows Xp 標準の環境で実現されるものですか?
それとも、何かWindowsデスクトップをカスタマイズするアプリケーションで
実現しているのですか?


J  2006-04-17 18:25:21  No: 21065

多分ドラッグ中ということではなくて選択中の間違いだと思われます


たぬき  2006-04-17 18:27:17  No: 21066

当方の環境(XP)では
画面のプロパティのデザインで指定した色と同じ色になります。
ただ色の取得より
囲んだ文字や色が半透明で見えるようにする方法がすごく難しいように
思えるのですが。


すったんだーど?  2006-04-17 18:29:56  No: 21067

こちらのWinXP Pro SP2では標準のXpスタイルでも、クラシックのスタイルでも
ドラッグ中に選択範囲内が薄い青色になりますよ。
色がつくのは、Explorerやコントロールパネルなど。
デスクトップは色無し。


たぬき  2006-04-17 18:30:09  No: 21068

度々すみません。
補足:
こちらでは
Windows Xp 標準の環境で
実現されております。


たぬき  2006-04-17 18:34:21  No: 21069

あ、そうではなくて
配色の項目で指定した色と同じになります。
ただ、詳細設定で指定した色では変更できないので
GetSysColorで取得できますかね?


igy  2006-04-17 19:11:38  No: 21070

>こちらで試している環境では、ドラッグ中の範囲選択内に色が付きません。

「画面のプロパティ」の「デザイン」タブで、
「効果」:「ドラッグ中にウィンドウの内容を表示する」にチェックを付けたら、
色がつくようになりました。

>矩形内の色と、囲い線の色を取得したいです。

のうち、囲い線の色は

clHighlight     選択した文字の背景色

と同じ色のようですね。


そうかも  2006-04-18 00:05:50  No: 21071

勘ですが、私も clHighlight なのではないかと思います。
で、半透明になってますよね。
ので、色がclHighlightとは異っているのではないかと。

うちは、システムカラーが緑系で統一されているんですが、
うちも、囲い線の色はリストアイテムなどを選択した時の色である
clHighlightっぽいです。
で、囲いの中の色は透けてるから
IntToHex( trunc(clHighlight * 0.5),6)などとしてログか何かに
出して、画面のキャプチャーから BGRを得て、比較してアルファ値
を求めるというのはどうかなと。


igy  2006-04-18 05:28:34  No: 21072

半透明に関しては

アルファブレンディング機能を利用する(Windows2000)
http://homepage1.nifty.com/ht_deko/tech001.html#tech017

のようにできればいいのでしょうけどね。


SO  2006-04-18 06:57:34  No: 21073

皆さん、ありがとうございます。

試してみます。
一応、これで解決とさせていただきます。
また分からなくなったら、そのときはまたよろしくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加