VC++で作成したウィンドウを移動が出来ないようにしたい
(初期位置から動かないようにしたい)のですが、
どのようにすればよろしいでしょうか?
使用しているOSはwindows2000です。
ウィンドウを動かせないようにする関数がwindowAPIにあると思うので
それを教えていただきたいと思います。
>ウィンドウを動かせないようにする関数がwindowAPIにあると思うので
あんのかなぁ?
WM_NCHITTEST を処理すればできるはづ。
MSDNで調べてみてください。
#MFCを使っているかなど環境は詳しく書いてください。
> ウィンドウを動かせないようにする関数がwindowAPIにあると思うので
何故そう思うのでしょう。
それなら,MSDNで探せばみつかるのでは?
WM_MOVINGやWM_SIZINGを処理するだけの話だと思いますけどね。
>>ウィンドウを動かせないようにする関数がwindowAPIにあると思うので
>あんのかなぁ?
もちろん、ないですね。
>WM_NCHITTEST を処理すればできるはづ。
>MSDNで調べてみてください。
常套手段ですね。WM_NCHITTESTでクライアントエリアのふりをしてやると。
(文句だけでなく一応答えも書いておきます(笑))
てか、どの程度動かなくするかも書いてないし、わかんないな~。
最大化ウィンドウでも、SetWindowPos()すれば動くし。
>#MFCを使っているかなど環境は詳しく書いてください。
そもそもこのあたりで間違ってるから、解答できるわけがないんですけどね。。。
語弊のないように追記。
>>#MFCを使っているかなど環境は詳しく書いてください。
>そもそもこのあたりで間違ってるから、解答できるわけがないんですけどね。。。
最初の質問の仕方がまずいと言いたいのです。使用上の注意は
よく読んで正しく使いましょう・・・と。(タツオさんへ)
郷に入れば郷に従え、ちゅうことです。
YuOさん いもちぃさん こんにちわ。
>ウィンドウを移動が出来ないようにしたい
確かに漠然としていて、私やYuOさんの回答では
正解かどうか、はっきりわかりませんね。
>WM_NCHITTEST を処理すればできるはづ。
つーことで、「できるはづ」は取り消しマース。(笑)
もっと柔軟な頭にせにゃ > To me
>>ウィンドウを移動が出来ないようにしたい
>確かに漠然としていて、私やYuOさんの回答では
>正解かどうか、はっきりわかりませんね。
いえいえ。そんなことはないでしょう。
WM_NCHITTESTを使うのは、質問が
「キャプション部分をドラッグしたときに移動できないように」
であれば、的確な答えじゃないですか。
それに、
> ウィンドウを動かせないようにする関数がwindowAPIにあると思うので
というのは、「え?」と、私は思いました。
きっとYuOさんも同じ風に感じたのかな~と思うのですが。
>>WM_NCHITTEST を処理すればできるはづ。
>つーことで、「できるはづ」は取り消しマース。(笑)
>もっと柔軟な頭にせにゃ > To me
「WM_NCHITTEST を処理すればキャプション部分をドラッグしたときに
移動できないようにできるはづ」というのはいかがでしょう。(^^
てか、「できる!」と言い切ってもいいと思いますが。(^^;
>「WM_NCHITTEST を処理すればキャプション部分をドラッグしたときに
>移動できないようにできるはづ」というのはいかがでしょう。(^^
>てか、「できる!」と言い切ってもいいと思いますが。(^^;
フォローありがとうございます。
やっぱ、スパッと回答できるように質問していただくのが
ベストではないかと思います。難しいんですけどねェ。
#移動にもイドゥ色ありましてェ(苦しい)
#ゴミでしたぁ。
最初の質問では、使用上の注意に合わない質問の仕方をしてしまい、
申し訳ありませんでした。
たくさんの方に不愉快な思いをさせてしまったことをお詫びいたします。
このような質問にも答えてくださっている方々、ありがとうございます。
教えていただきたい質問の詳しい状態、開発環境を改めて書いたので、
再びご教授お願い致します。
使用OS:windows2000 5.00.2195
使用VCのバージョン:VisualC++(R) 6.0 Enterprise Edition
#MFC使用の有無:使用しています
現在、デスクトップ上に表示させるメニューバーを作成しているのですが、
メニューバーのタイトルバーをマウスでドラッグすることで、
メニューバーの表示位置の移動が可能になっております。
このメニューバーを初期表示位置より移動できないように改修しようと考えております。
表示しているメニューバーの状態は以下の通りです。
・ウィンドウとして自作したものをメニューバーとして使用しております。
・タイトルバーが存在しております。
・最大化ボタン、最小化ボタン等はありません。
・デスクトップの最上部に表示するようにしております。
・横幅は、画面と等しい大きさです。
・タイトルバーの下にボタンを横に並べています。
・メニューバーが表示されている箇所は、他のアプリケーションやウィンドウが
使用できないようにしております。
(タスクバーのような感じです)
メニューバー作成に使用している主なAPI
使用API 使用目的
・GetModuleHandle モジュールハンドルの取得
・SetWindowText ウィンドタイトルの設定
・GetDesktopWindow 画面の解像度の取得
・GetDeviceCaps デバイス情報取得
・SetWindowPos ウィンドウサイズの設定
・ExpandEnvironmentStrings INIファイル名取得
・SHAppBarMessage 表示箇所の領域確保
>メニューバーのタイトルバーをマウスでドラッグすることで、
>メニューバーの表示位置の移動が可能になっております。
>このメニューバーを初期表示位置より移動できないように改修しようと
>考えております。
ということなら(再度)
WM_NCHITTEST を処理すればできるはづ。
調べましたか?