フォームのコントロールボックスにボタンを追加する方法を探しています。どの言語で使用するかは関係ありませんが、.NET(C#、VB.NET、またはC ++)で使用したいと思います。
はい、私はこれを見ましたが、少なくともWindows 7の場合、回答の解決策はどれも機能しません。はい、これも知っています。機能しますが、より自然でネイティブな方法があれば探しています。
別の方法は、境界線のないフォームを使用して、独自のTitleBarを配置することです。ここに示されているように:
Tergiverが彼のコメントで述べているように、これを行うための良い方法はありません。実際には非標準であり、ユーザーを混乱させるため、ほとんどの場合、これを行うべきではないことをお勧めします。
ただし、本当に必要な場合は、WM_NCPAINT
メッセージ(内部WndProc
)をリッスンし、メッセージの1つを取得したら、手動で独自のボタンをペイントするのが方法だと思います。次に、ボタンが描画された領域でマウスイベントをリッスンし、それらのクリックも手動で処理する必要があります。