ウィンドウを動かせないようにしたい – プログラミング – Home

ウィンドウを動かせないようにしたい
 
通知
すべてクリア

ウィンドウを動かせないようにしたい


タツオ
 タツオ
(@タツオ)
ゲスト
結合: 23年前
投稿: 2
Topic starter  

VC++で作成したウィンドウを移動が出来ないようにしたい
(初期位置から動かないようにしたい)のですが、
どのようにすればよろしいでしょうか?
使用しているOSはwindows2000です。
ウィンドウを動かせないようにする関数がwindowAPIにあると思うので
それを教えていただきたいと思います。


引用解決済
トピックタグ
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

>ウィンドウを動かせないようにする関数がwindowAPIにあると思うので

あんのかなぁ?

WM_NCHITTEST を処理すればできるはづ。
MSDNで調べてみてください。

#MFCを使っているかなど環境は詳しく書いてください。


返信引用
YuO
 YuO
(@YuO)
ゲスト
結合: 24年前
投稿: 252
 

> ウィンドウを動かせないようにする関数がwindowAPIにあると思うので

何故そう思うのでしょう。
それなら,MSDNで探せばみつかるのでは?

WM_MOVINGやWM_SIZINGを処理するだけの話だと思いますけどね。


返信引用
いもちぃ
 いもちぃ
(@いもちぃ)
ゲスト
結合: 23年前
投稿: 70
 

>>ウィンドウを動かせないようにする関数がwindowAPIにあると思うので

>あんのかなぁ?

もちろん、ないですね。

>WM_NCHITTEST を処理すればできるはづ。
>MSDNで調べてみてください。

常套手段ですね。WM_NCHITTESTでクライアントエリアのふりをしてやると。
(文句だけでなく一応答えも書いておきます(笑))
てか、どの程度動かなくするかも書いてないし、わかんないな~。
最大化ウィンドウでも、SetWindowPos()すれば動くし。

>#MFCを使っているかなど環境は詳しく書いてください。

そもそもこのあたりで間違ってるから、解答できるわけがないんですけどね。。。


返信引用
いもちぃ
 いもちぃ
(@いもちぃ)
ゲスト
結合: 23年前
投稿: 70
 

語弊のないように追記。

>>#MFCを使っているかなど環境は詳しく書いてください。
>そもそもこのあたりで間違ってるから、解答できるわけがないんですけどね。。。

最初の質問の仕方がまずいと言いたいのです。使用上の注意は
よく読んで正しく使いましょう・・・と。(タツオさんへ)
郷に入れば郷に従え、ちゅうことです。


返信引用
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

YuOさん いもちぃさん こんにちわ。

>ウィンドウを移動が出来ないようにしたい

確かに漠然としていて、私やYuOさんの回答では
正解かどうか、はっきりわかりませんね。

>WM_NCHITTEST を処理すればできるはづ。

つーことで、「できるはづ」は取り消しマース。(笑)

もっと柔軟な頭にせにゃ > To me


返信引用
いもちぃ
 いもちぃ
(@いもちぃ)
ゲスト
結合: 23年前
投稿: 70
 

>>ウィンドウを移動が出来ないようにしたい

>確かに漠然としていて、私やYuOさんの回答では
>正解かどうか、はっきりわかりませんね。

いえいえ。そんなことはないでしょう。
WM_NCHITTESTを使うのは、質問が
「キャプション部分をドラッグしたときに移動できないように」
であれば、的確な答えじゃないですか。

それに、
> ウィンドウを動かせないようにする関数がwindowAPIにあると思うので
というのは、「え?」と、私は思いました。
きっとYuOさんも同じ風に感じたのかな~と思うのですが。

>>WM_NCHITTEST を処理すればできるはづ。

>つーことで、「できるはづ」は取り消しマース。(笑)
>もっと柔軟な頭にせにゃ > To me

「WM_NCHITTEST を処理すればキャプション部分をドラッグしたときに
移動できないようにできるはづ」というのはいかがでしょう。(^^
てか、「できる!」と言い切ってもいいと思いますが。(^^;


返信引用
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

>「WM_NCHITTEST を処理すればキャプション部分をドラッグしたときに
>移動できないようにできるはづ」というのはいかがでしょう。(^^
>てか、「できる!」と言い切ってもいいと思いますが。(^^;

フォローありがとうございます。

やっぱ、スパッと回答できるように質問していただくのが
ベストではないかと思います。難しいんですけどねェ。

#移動にもイドゥ色ありましてェ(苦しい)
#ゴミでしたぁ。


返信引用
タツオ
 タツオ
(@タツオ)
ゲスト
結合: 23年前
投稿: 2
Topic starter  

最初の質問では、使用上の注意に合わない質問の仕方をしてしまい、
申し訳ありませんでした。
たくさんの方に不愉快な思いをさせてしまったことをお詫びいたします。
このような質問にも答えてくださっている方々、ありがとうございます。

教えていただきたい質問の詳しい状態、開発環境を改めて書いたので、
再びご教授お願い致します。

使用OS:windows2000 5.00.2195
使用VCのバージョン:VisualC++(R) 6.0 Enterprise Edition
#MFC使用の有無:使用しています

 現在、デスクトップ上に表示させるメニューバーを作成しているのですが、
メニューバーのタイトルバーをマウスでドラッグすることで、
メニューバーの表示位置の移動が可能になっております。
 このメニューバーを初期表示位置より移動できないように改修しようと考えております。

表示しているメニューバーの状態は以下の通りです。
 ・ウィンドウとして自作したものをメニューバーとして使用しております。
 ・タイトルバーが存在しております。
 ・最大化ボタン、最小化ボタン等はありません。
 ・デスクトップの最上部に表示するようにしております。
 ・横幅は、画面と等しい大きさです。
 ・タイトルバーの下にボタンを横に並べています。
 ・メニューバーが表示されている箇所は、他のアプリケーションやウィンドウが
  使用できないようにしております。
  (タスクバーのような感じです)

メニューバー作成に使用している主なAPI
  使用API             使用目的
 ・GetModuleHandle     モジュールハンドルの取得
 ・SetWindowText      ウィンドタイトルの設定
 ・GetDesktopWindow    画面の解像度の取得
 ・GetDeviceCaps      デバイス情報取得
 ・SetWindowPos       ウィンドウサイズの設定
 ・ExpandEnvironmentStrings INIファイル名取得
 ・SHAppBarMessage      表示箇所の領域確保


返信引用
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

>メニューバーのタイトルバーをマウスでドラッグすることで、
>メニューバーの表示位置の移動が可能になっております。
>このメニューバーを初期表示位置より移動できないように改修しようと
>考えております。

ということなら(再度)

WM_NCHITTEST を処理すればできるはづ。

調べましたか?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました