エディットコントロールの中を、反転するには。

[戻る]
リファール 2004/10/22(金) 05:49:30
おはようございます。
VC++.net SDK WinXP です。
いつもご教授いただき、ありがとうございます。

実は、エディットコントロールの中を、反転表示したいんです。
どの関数を使えばよいか、教えていただけますか?
よろしくお願いします。

メイ 2004/10/22(金) 09:19:12
「CEdit::SetSel」辺りでどうでしょうか?

PATIO 2004/10/22(金) 15:25:21
反転表示と一言で書かれてもどうしたいのかが良くわからないですね。

エディットコントロール内の全テキストを選択状態にしたいのであれば、
メイさんの言われている通り、CEdit::SetSelで選択状態にすれば、OKだと思います。
ただし、これだとエディットコントロール内をマウスでクリックしたりすると
選択状態が解除されてしまうので反転表示は解除されます。
ずっと反転表示したいのであれば、上記の関数で選択状態にするだけでは駄目です。
もうちょっと場合分けして具体的に書いた方がわかりやすくて良いと思いますよ。

リファール 2004/10/22(金) 16:55:47
説明不足で申し訳ありません。
僕がやりたいのは、「エディットコントロール全域を反転したい」です。
そこをクリックすると反転が解除されてかまいません。

メイさん、PATIOさんの言われるとおり
CEdit::SetSel ということですね。
ただヘルプで検索をかけると、MFCとなってますし
"〜::〜" というのは・・・・・。
勉強不足ですみません。
SDKによるWindowsプログラムでもそれを使うのでしょうか?

dairygoods 2004/10/22(金) 17:04:59
SDKならWM_SETSELです。
ヘルプをみると、対応するSDKの機能へのリンクがあると思います。

dairygoods 2004/10/22(金) 17:05:25
訂正: WM_SETSEL → EM_SETSEL

PATIO 2004/10/22(金) 17:08:25
SDKなのかMFCなのかは最初に書いておいてください。
今回のような事になりますので。

HELPでCEdit::SelSelを見るとここにちゃんと関連項目としてありますよ。

「詳細については、Win32 SDK の「EM_SETSEL」を参照してください。」

SendDlgItemMessageを使ってやれば良いと思います。
SDKでは常套手段なので多分説明するまでも無いとは思いますけれど。

メイ 2004/10/24(日) 01:32:48
>実は、エディットコントロールの中を、反転表示したいんです。
>どの関数を使えばよいか、教えていただけますか?

どのようなタイミングで反転表示させたいのか分かりませんが、
「EM_SETSEL」を投げる場合、
エディットが「WM_SETFOCUS」を受け取った状態でないなら、
SetFocusも必要になると思いますよ。

リファール 2004/10/24(日) 07:01:45
[[解決]]
>HELPでCEdit::SelSelを見るとここにちゃんと関連項目としてありますよ。
 CEdit::SelSelで検索をかけ、ほとんどMFCだったので
 注意深く見ていませんでした。 すみません・・・。

>「EM_SETSEL」を投げる場合、
>エディットが「WM_SETFOCUS」を受け取った状態でないなら、
>SetFocusも必要になると思いますよ。
 WM_SETFOCUSを受け取ってないところでやりたかったので
 助かりました^^; ありがとうございます。


解決しました。ありがとうございます!
また分からないことがあったら、よろしくお願いします。

古いスレッドには追加発言できません。