C#のwinformアプリで、Linuxウィンドウマネージャーの機能のいくつかを実装しようとしています。すでにたくさんのことをしましたが、今はサイズ変更の部分をしようとしています。ウィンドウで特定のコンボを押してから、マウスを左右に動かすと、ウィンドウの幅が広がります。右/左に、斜めに動かすと、ウィンドウが両方向に大きくなります。
これで、ホットキーの登録、マウスカーソルの位置の取得/設定、ウィンドウの移動などの方法をすでに理解しました。すべてwinapiで行います。
あまり得られないようですが、どうすればウィンドウの幅、たとえば幅を一方向に増やすことができますか?私が通常それを増やすならば、それは両方向にまたがります。私はこれを考えました、そして私は考えます:ウィンドウは両方向に増加しますが、ウィンドウの幅を右に拡大したい場合は、開始点でウィンドウを再配置/移動し続け、左側がそのうちの1つは固定されたままで、正しいものはまたがります。
これを行うための正しくて簡単な方法は何ですか?私は私の推測について正しいですか?
また、これを自分のフォームだけでなく、どのウィンドウでも機能させたいことに注意してください。
任意のC++/ C#/Winapiコードが役立ちます。
ある種のアイデア/考えも素晴らしいでしょう。
どうもありがとう。