ModifyStyleを使用したい

[戻る]
小林 2011/04/19(火) 09:16:42
VC++ 2010ExpressのWin32プロジェクトをひな形として使用している者です。

表題の件ですが、ウインドウの淵にマウスカーソルを持っていくと、黒い矢印
が表示されるのですが、これを表示させず、ウインドウの大きさを最小化と固定のみ
にするには、どうしたらよいでしょうか。

ModifyStyleを使おうと思いましたが、これをどこに書いても赤い波線が引かれ、
#include "altwin.h"をソースコードの冒頭に書いても[includeファイルが開けません]
というエラーが表示されました。

お忙しいとは存じますが、よろしくお願いします。

仲澤@失業者 2011/04/19(火) 09:41:20
ModifyStyle()はMFCですね。従ってExpressでは使えません。
CreateWindow()をどっかでやっていると思うのですが、それに与える
ウインドウスタイルでサイズ変更枠に相当するフラグを全て落として
WS_BORDERだけにすると固定枠になります。

どうしてもModifyStyle()相当のコードが書きたい場合は
SetWindowLongPtr() にGWL_STYLE又はGWL_EXSTYLEを渡して、スタイルを
変更します。この後SetWindowLong()を実行しないと一部のスタイルは
反映されないので注意が必要です。ModifyStyle()はこれらの動作を一度に
やってくれてるだけなのです。

仲澤@失業者 2011/04/19(火) 09:43:10
あたたっ
 × この後SetWindowLong()を実行しないと
 ○ この後SetWindowPos()を実行しないと
の間違いですね。orz.

小林 2011/04/19(火) 10:01:39
[[解決]]
ご返答、ありがとうございます。
CreateWindow()内の、ウインドウスタイルを制御するフラグを調整して、
目的の状態にすることができました。
ご協力、感謝します。

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