掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
マウスカーソルを変更するには? (ID:53251)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
To: YuOさん >#VC++ 6.0の頃の訳は誤訳だらけで使い物にならなかった ってゆーか、直訳っぽくて何言ってるのか良く分からない事が多いような・・ >1. 親ウィンドウがある場合は,親ウィンドウにWM_SETCURSORを投げる。TRUEが返ってきたら,それ以上何もせずにTRUEを返す >2. ヒットテスト情報を参考に,カーソルを設定する ですよね。 で、2.は親ウィンドウのDefWindowProc()が制御してるのですよね? で、当初の質問に答えますと、そもそも全てのコントロールも突き詰めればウィンドウな訳で、例えばメインウィンドウのメニューにしろ、エディットボックスのスクロールバーにしろ、クライアントエリアを持ってる訳で、例えば、メインウィンドウのメニュー領域にマウスカーソルが有った時、メニュー領域が持つウィンドウプロシージャにイベントが投げられ、さらにその親ですから、メインウィンドウに投げると解釈した訳です。結果として、メインウィンドウがクライアントエリア外でもメッセージを補足出来ると・・・ で、質問者がレスってる通り、ここで言うクライアントエリア外でも補足したいと言うのは、そう言う意味でのクライアントエリアだろうなと感じたので、ウィンドウ=クライアントエリア(正確に言うとウィンドウ(若しくはコントロール)エリア内で他のコントロールエリアが無い個所)を前提に書いてました。 (ですので、私の言ったクライアントウィンドウプロシージャと言うのは、例えばメインウィンドウのメニューが持ってるウィンドウプロシージャって意味でした) >・一番上に表示されているウィンドウにWM_NCHITTESTが投げられる 上記の解釈だと、これもすんなり理解出来たので・・・つまり、各々のクライアントエリアは自分の場所を知ってる訳で、それを親に丸投げするから親は自分の子供の範疇でクライアント/非クライアントのHotSpotを知り得るのかなと・・ (それを「親がヒットテスト(判定)」するって言葉で書いてました) で、話は戻しますが、メインウィンドウのクライアントエリアにマウスカーソルがある時にどう言う動きになるのかがやはり掴めません。 もっとも、質問者が子ウィンドウ同士間でカーソル形状を変えたいのなら最低でも メインウィンドウで制御出来るから問題ないと思いますが、メインウィンドウと子ウィンドウ間でもカーソル形状を変えようとしてるなら、その辺が疑問かなぁ・・と思ってまして。 (ちなみに、自アプリと他アプリ間でカーソル形状を変えたいって意味では無いですよね?>WAMさん)
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.