問題タブ [nonclient-area]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
422 参照

c# - ウィンドウのスタイルを変更しますか?

アプリを Chrome ウィンドウのように見せるにはどうすればよいですか? タイトル テキストがなく、非常にスリムな境界線が表示されます。または、境界線のない (またはパディングのような) Spotify のように。

0 投票する
1 に答える
1473 参照

winapi - WM_NCHITTESTはマウスカーソルを変更しません

カスタムNCHITTESTとNCCALCSIZEを実装するレイヤードウィンドウ(WS_EX_LAYERED)があり、ウィンドウのクライアントrectをウィンドウrectと同じにします。私のウィンドウのサイズとペイントは正しくあります。カーソルがウィンドウの下端近くにあるときにWM_NCHITTESTからHTBOTTOMを返すと、ウィンドウの下部から垂直方向のサイズ変更タイプのアクションが発生します。ただし、垂直サイズ変更カーソルが表示されません。WM_SETCURSORを実装して、ウィンドウの端に対するポインターの位置をテストせずに、これを修正する方法はありますか?

これが私のコードの抜粋です:

0 投票する
3 に答える
3079 参照

c# - Aero の非クライアント領域サイズを正しく決定する方法は?

COMPILED アプリケーションに対して Aero がアクティブ化されているときに、VBNET または C# コードを使用して非クライアント領域のサイズを正しく決定する方法は? (はい、この問題は、IDE からアプリを起動するときではなく、コンパイルされたアプリケーションを実行するときにのみ発生します)

フォームのサイズを変更したり、フォームの高さ/幅に関連する操作を行ったりすると、期待した結果が得られません。

たとえば、これは 2 つの形式の単純なドッキングのコードの一部です。

VB-NET:

C#:

例として、私のプログラムを示します。

上記のコードは、Aero がアクティブ化されていない場合に完全に実行されます。

ここに画像の説明を入力

...しかし、Aero が有効になっている場合は、次のようになります。

ここに画像の説明を入力

右側のフォームが左側のフォームの非クライアント境界線の下にあることに注意してください。

...または、左のフォームが右のフォームの非クライアント境界線の下にある別の画像を次に示します。

ここに画像の説明を入力

私の質問は、これを解決する方法はどれですか?

アップデート:

フレーム ソリューションの拡張が機能していません。

フォーム1:

フォーム2:

結果:

ここに画像の説明を入力

また、覚えておきたい のは、この問題は、IDE からアプリを起動するときではなく、コンパイルされたアプリケーションを実行するときにのみ発生することです。

**

アップデート:

**

GetWindowRect ソリューションをテストし、常に 0 を返しましたが、うまくいきませんでした。何か間違ったことをしているのかもしれません:

**

アップデート:

**

GetWindowRect をもう一度試してみます。今回はコードは正しく記述されていますが、問題は解決しません。

ここに画像の説明を入力

注意: この問題は、IDE からアプリを起動するときではなく、win7/Vista でコンパイルされたアプリケーションを実行するときにのみ発生します。

0 投票する
1 に答える
124 参照

.net - NonClient の上部境界線のサイズを取得するには?

セカンダリ フォームを他のフォームの右端に揃える必要があります。

AERO を有効にしてCOMPILEDアプリケーションをコンパイルして実行すると(IDE から実行する場合ではない)、次のようになります。

ここに画像の説明を入力

ここでGJKHのすばらしい回答に感謝します: Aero の非クライアント領域サイズを正しく決定する方法は?

...これで、セカンダリ フォームをメイン フォームの右側に揃えることができますが、セカンダリ フォームはまだ上から少しピクセル分ずれています。

ここに画像の説明を入力

これは私が使用しているコードです:

0 投票する
1 に答える
1379 参照

c++ - 非クライアント領域でのプッシュ ボタンのイベントの処理方法

編集:次のコードを使用して、ウィンドウの非クライアント領域 (タイトル バー) にプッシュ ボタンを描画しました。だから私の質問は:このボタンからマウスクリックイベントを処理することは可能ですか?

0 投票する
0 に答える
1386 参照

c++ - WM_NCPAINT WinEvent を処理するときにエアロ グラスを保持する方法

ウィンドウの非クライアント領域にプッシュボタンを描画するために WM_NCPAINT WinEvent を処理しています。しかし、次の画像でわかるように、エアロ ガラスの境界線が消えており、私のウィンドウには境界線がありません。だから私はこの答えを見つけました: WM_NCPAINT を処理すると、Vista/Aero で DWM ガラスのレンダリングが「中断」し、そのページで提案されているソリューションをプロジェクトに適用しようとしましたが、結果はありませんでした。私が間違っていることは何ですか?

私のウィンドウのスクリーンショット:

ここに画像の説明を入力

私が追加した.proファイルで:

そしてここに私のコード:

0 投票する
1 に答える
636 参照

c# - フォームのサイズが変更された後、フォームをビットマップにキャプチャする

C# での作業私は、ControlまたはFormビットマップをキャプチャする必要があるプロジェクトを持っています。Controlコンストラクターでパラメーターを受け取り、次のコード (この例では単純化されています) を実行してControl.

キャプチャする必要があるコントロールごとにこのクラスのインスタンスが作成され、ビットマップが使用され (この場合は画面に描画されます)、不要になったオブジェクトは破棄されます。これはうまく機能し、以下に示すように、指定されたControlorのビットマップを提供しFormます。後者の場合は非クライアント領域を含みます。

http://i.imgur.com/ZizXjNX.png

ただし、Formもう一度キャプチャしようとすると、問題が発生します。再度キャプチャする前にサイズを変更した場合Form、2 回目のキャプチャでは、非クライアント領域が正しくないものとして表示されます。

以下は、これを説明するための画像です。左側はフォームが画面上でどのように見えるか (正しい) であり、右側は上記のコードがそれをどのようにキャプチャするか (正しくない) です。

http://i.imgur.com/y46kFDj.png

私は自分の検索から何も思いつかなかったので、誰かが私が間違っている/していないことを指摘できるかどうか疑問に思いましたか?

0 投票する
0 に答える
556 参照

c# - クライアント領域にタイトルバーを含める

アドバイスを求めています...フォームのクライアント領域を拡張して、タイトル バーとウィンドウの境界線を含めようとしています。ボタンを追加して非クライアント領域にペイントできるようにしたい。この記事を読みまし たが、これは C++ で書かれており、C# を使用しています (Visual Basic も動作します)。それを読んだ後、私はこのコードを思いつきました:

これはウィンドウを大きくするだけで、非クライアント領域には何もしません。私は一日中グーグルで検索してきましたが、これ以上のものに出くわしていません。これはしばらく私を悩ませてきたので、誰かアイデアがあれば、返信を残してください.

また、初投稿なので何か間違っていたら教えてください。