2

Windows 7 では、通常のウィンドウを画面の上部にドラッグすると、ウィンドウの輪郭が最大化されます。放すと、Windows はフォームを最大化します。同様に、すでに最大化されているウィンドウを「引き下げ」て、通常のウィンドウ状態に戻すことができます。これらの拡張機能を C# WinForms アプリ内のボーダレス フォームで活用したいと考えています。

私のフォームはボーダーレスなので、カスタム タイトルバーと最小化/最大化/閉じるボタンを作成できます。タイトルバーをドラッグしてフォームを移動できますが、Windows 7 の拡張機能にプラグインして、アウトラインを最大化したり、「プルダウン」機能を使用したりする方法がわかりません。

助言がありますか?ありがとう!

4

1 に答える 1

0

私は何年も前にDelphi 7でこのようなことをしました。

1) フォーム - OnCLick - 画面全体でマウスの位置をキャプチャします (このリンクが役立つかもしれません: http://msdn.microsoft.com/en-us/library/system.windows.forms.cursor.position.aspx )、情報を保存しますプライベート変数で押されたボタンについて (例: buttonPressed = true)
2) フォーム - OnMouseMove - 新しいマウス位置に従って、ウィンドウを移動します
3) フォーム - OnMouseUp - buttonPressed = false。カーソル座標が画面の上部 (x[0..screenW] y[0..10]) にある場合 --> 最大化します。

ほんのヒント、多分それはあなたを助けるでしょう。

于 2013-02-14T01:42:17.263 に答える