トップページ > 記事閲覧
SetWindow〇〇SizeとAeroSnapについて
名前:てきやく 日時: 2016/07/22 11:00

SetWindowSizeChangeEnableFlagをTRUEにしているとき、 SetWindowMinSizeやSetWindowMaxSizeを設定していてもAeroSnapに無視されてしまうのですが対策法はありますか?
メンテ

Page: 1 |

Re: SetWindow〇〇SizeとAeroSnapについて ( No.1 )
名前:yumetodo 日時:2016/07/22 14:28

そもそもDxLibって、DxWindwos.cpp見る限り ウィンドウプロシージャでWM_WINDOWPOSCHANGINGのSWP_FRAMECHANGEDを拾ってないからAeroSnapまともに動作しない気が・・・。 WM_EXITSIZEMOVEとかで拾えてましたっけ?
メンテ
Re: SetWindow〇〇SizeとAeroSnapについて ( No.2 )
名前:てきやく 日時:2016/07/22 17:28

すみません、詳しいことは分からないのですが dxlib.o.oo7.jp/cgi/patiobbs/patio.cgi?mode=view&no=3866 こちらのトピックの、管理人さんの解答(No.1)のコードそのままでAeroSnapが動作しています。
メンテ
Re: SetWindow〇〇SizeとAeroSnapについて ( No.3 )
名前:管理人 日時:2016/07/23 17:06

https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=3866 ↑ こちらのコードでは SetWindowStyleMode( 7 ) ; という処理が入っていますが、 SetWindowStyleMode( 7 ) ; を削除することで AeroSnap がされなくなります よろしければお試しください m(_ _)m > yumetodoさん 特にDXライブラリ側では AeroSnap 関連のメッセージは何も処理していませんが、 「ウインドウサイズの変更」という形で別途メッセージが来ているので AeroSnap 独自の 処理をするわけではないのなら正常に動作するようです
メンテ
Re: SetWindow〇〇SizeとAeroSnapについて ( No.4 )
名前:てきやく 日時:2016/07/23 18:25

ご返答ありがとうございます。しかし、できればAeroSnapは有効のままにしたいのですが、 AeroSnapに対してもSetWindowMinSizeの設定が有効になるようにしていただくことはできませんか? (SetWindowMaxSizeを使う予定はありません) 現状では横方向の最小サイズを400に設定した場合でも以下のような現象が起こります。 www.fastpic.jp/images.php?file=6134634638.jpg www.fastpic.jp/images.php?file=6835251459.jpg 例えばGoogleChromeだと、下の画像のようにAeroSnapに対しても他のソフトウェアより最小サイズの設定が大きくされているようなので www.fastpic.jp/images.php?file=5734770763.jpg これと同じようにしたいのです。
メンテ
Re: SetWindow〇〇SizeとAeroSnapについて ( No.5 )
名前:管理人 日時:2016/07/24 01:47

> 現状では横方向の最小サイズを400に設定した場合でも以下のような現象が起こります。 > www.fastpic.jp/images.php?file=6134634638.jpg > www.fastpic.jp/images.php?file=6835251459.jpg すみません、どのような現象が起こっているのかスクリーンショットだけでは理解できませんでした どのような操作をしたら指定した最小サイズより小さくなってしまったのでしょうか? あと、もし最新バージョンをお使いではありませんでしたら 最新バージョンでは挙動が変化しているかもしれませんので、よろしければこちらを お試しになってみてください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
Re: SetWindow〇〇SizeとAeroSnapについて ( No.6 )
名前:てきやく 日時:2016/07/24 04:59

説明の文章が抜けてしまっていました。 この現象を起こす操作は 1.ウィンドウの角をつかむ 2.画面上端または下端への押し付けによるAeroSnapで、指定サイズよりもウィンドウが小さくなるような位置にマウスポインタを移動させる というものです。 使用バージョンは3.16dです。 最新のテスト版でも挙動に変化はありませんでした。
メンテ
Re: SetWindow〇〇SizeとAeroSnapについて ( No.7 )
名前:管理人 日時:2016/07/25 02:30

再現方法のご説明ありがとうございます、手元でも現象を確認しました 同様の手順を踏んでも SetWindowMinSize 以下のサイズにならないように修正した バージョンをアップしましたので、よろしければお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
Re: SetWindow〇〇SizeとAeroSnapについて ( No.8 )
名前:てきやく 日時:2016/07/25 03:06

ご対応ありがとうございます。設定したサイズよりもウィンドウが小さくならないことを確認しました。 ただ、No.4の1枚目の画像のようにAeroSnapのエフェクト自体はまだウィンドウサイズよりも小さく出来てしまうことが少し気になるのですが この動作は仕様ということでよろしいでしょうか?
メンテ
Re: SetWindow〇〇SizeとAeroSnapについて ( No.9 )
名前:管理人 日時:2016/07/30 02:43

> ただ、No.4の1枚目の画像のようにAeroSnapのエフェクト自体はまだウィンドウサイズよりも小さく出来てしまうことが少し気になるのですが > この動作は仕様ということでよろしいでしょうか? AeroSnapのエフェクトはOSが行っているのでソフト側ではどうすることもできません なのでDXライブラリの仕様というよりOSの仕様となります ( 私が知らないだけでソフト側でどうにかする方法があったら「OSの仕様」ではなくなりますが (・・;; )
メンテ
Re: SetWindow〇〇SizeとAeroSnapについて ( No.10 )
名前:てきやく(解決) 日時:2016/07/30 05:52

No.4の3枚目の通りGoogleChromeでは他のソフトウェアよりもAeroSnapの最小サイズが大きいので、なにか変更する方法があるのではないかと思いますが 仕様ということであれば了解いたしました。 ありがとうございました
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存