問題タブ [window-chrome]

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 投票する
3 に答える
3347 参照

wpf - wpfでカスタムクローム処理されたWindows

WindowStyleNoneとAllowsTransparencyTrueを使用してwpfでカスタムクロームウィンドウを作成しようとしましたが、ウィンドウを最大化すると、画面全体をカバーします(そして、ウィンドウの端を超えて、ウィンドウの下部にあるバーも非表示になります画面、フルスクリーンのゲームのように)。どうすれば通常のウィンドウのように動作させることができますが、独自にカスタム作成したwpf-chromeを使用しますか?

0 投票する
2 に答える
1248 参照

c# - C / C ++ / C#:Windows 7でウィンドウクロームの再描画を強制する方法は?

私のアプリケーションには、アプリケーションの標準のトップレベルウィンドウがあります。ウィンドウクローム(ウィンドウの非クライアント領域とも呼ばれます)を強制的に再描画する必要があります。クライアント領域も再描画されるかどうかは関係ありませんが、クロム自体を強制的に再描画する必要があります。

特に、Windows 7で動作するためにこれが必要です。他のOSバージョンで動作するかどうかは、私の特定のケースでは重要ではありません。ソリューションは、C、C ++、C#、またはその他の言語にすることができます。

0 投票する
2 に答える
3071 参照

wpf - WPF:カスタムウィンドウ、標準の最小/最大/閉じるボタン

カスタムWPFウィンドウを作成したいと思います(WindowStyle = None、AllowsTransparency = True)。ただし、最小/最大/閉じるボタンは、標準のウィンドウのボタンと同じように表示したいと思います。これは可能ですか?

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

c# - wpf、黒枠でWindows Aeroグラス効果なしでWindowChromeを使用する方法

WindowChrome クラスを使用してウィンドウの境界線をカスタマイズしようとしています。Windows Aero ガラス効果なし。案の定、ブラックボーダーに仕上がってしまいます。しかし、キャプションボタンもありません

Microsoft から、これらの問題を克服するためにウィンドウ スタイルを null に設定することで標準ウィンドウを使用できることを学びました http://msdn.microsoft.com/en-us/library/microsoft.windows.shell.windowchrome.aspx

しかし、私はそれで成功しません。

誰かがこれの実例を持っていますか? または、私の問題を解決する方法を説明できる何らかのリンクはありますか?

簡単なサンプル コードを作成して、WindowStyle を none に変更しようとしましたが、うまくいきません。これは私のコード例です:

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

wpf - WPF: カスタム クロムを使用せずにボーダレス ウィンドウにドロップ シャドウ

WindowStyle=None および ResizeMode=NoResize の WPF ウィンドウでドロップ シャドウに苦労しています。ウィンドウコンテンツで DropShadow 効果を使用する代わりに何か良い方法はありますか? Shell Integration Library で WindowChrome を試しましたが、ResizeMode=NoResize のときに「Chrome」が表示されません。

ウィンドウの境界の外側に wpf-drop-shadow を描画することができれば、それが解決策になる可能性があります。ウィンドウ内にドロップ シャドウを描画すると、たとえば、マウス カーソルをシャドウ上に移動すると、標準とは異なる動作になります。これを行うと、ウィンドウにヒットテストが表示されなくなり、この領域をクリックすると、背後のウィンドウがアクティブになります。

Zune は、標準の Chrome シャドウとまったく同じように見えないため、独自のドロップ シャドウを描画しているようです。ただし、マウスイベントをキャプチャしないという点で、通常のドロップシャドウのように動作します。彼らはどうやってそれをするのだろうか。

Spotify には、マウス イベントをキャプチャしない別の種類のシャドウもあります。

これらのアプリは独自の WindowChrome を完全に描画すると思いますが、どうやって? これはどういうわけかWPFでサポートされていますか?

0 投票する
2 に答える
3626 参照

c# - WindowChrome で標準のシステム メニューを複製しますか?

WindowChrome (ここからダウンロード可能) を使用してウィンドウの非クライアント領域をカスタマイズする場合、自然な出発点は、標準のタイトル バーと同じ外観と動作のタイトル バーを作成することです。これには、「偽の」アプリケーション アイコンとタイトル バーを追加する必要があります。これは、明らかに WindowChrome がこれらの機能を無効にするためです (最小化、最大化、閉じるボタンは引き続き機能します)。

これが私がこれまでに持っているものです:

コードビハインド:

これは、作業に非常に近いものです。最初の問題は、アプリケーション アイコンをクリックしてシステム メニューが表示された後、もう一度クリックするとメニューが消えてしまい、代わりにメニューが再描画されることです。また、ダブルクリックするとウィンドウが閉じますが、Image にはダブルクリック イベントがありません。これらの機能を追加することをどのように提案しますか?

0 投票する
2 に答える
788 参照

c# - WPFウィンドウから突き出ているコントロール?

と同じようFluent.RibbonWindowに、ウィンドウのキャプション/境界線に固定するためのコントロールが必要です。
クラスからを抽出しようとしRibbonWindowましたが、いつも問題が発生します。私はそれをすることができません...
誰かがこれで私を助けることができますか?
基本的に、ウィンドウのクライアント領域をウィンドウ全体に拡張する必要があります。フレームをクライアント領域に拡張するのではなく
、クライアント領域をフレームに拡張する必要があります。

0 投票する
2 に答える
10758 参照

wpf - 非表示のコントロールボックスなしでWPFリボンウィンドウ(Aeroが有効)でタイトルバーを非表示にする方法は?

私は現在 WPF リボン ウィンドウを使用しており、次の写真のように現在のウィンドウで Aero を有効にしています。「Pattern Tester」というタイトルを表示するスペースが十分にないため、非表示にするのが好きです。しかし、タスク マネージャーやタスク スイッチャーやタスクバーなどの関連プログラムに表示される元の Windows コントロール ボックスと現在のタイトル (非表示であっても) が必要です。

WPF リボン ウィンドウ

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

wpf - ResizeMode が NoResize に設定されている場合、システムの閉じるボタンがカスタム ウィンドウのクロムに表示される

WPF シェル統合ライブラリ ( http://archive.msdn.microsoft.com/WPFShell ) を使用してカスタム ウィンドウ クロムを実装しました。

ReSizeMode を NoResize に設定するまで、Chrome は機能します。次に、閉じるボタンにカーソルを合わせると、基になるシステムの閉じるボタンがカスタム クロームの閉じるボタンの下に表示されていることがわかります。カスタム Chrome ボタンは、システムの [閉じる] ボタンを部分的に非表示にします

予想される動作は、基になる閉じるボタンが表示されないことです。ウィンドウを移動するか、デスクトップ上の別のウィンドウを選択してこのウィンドウに戻ると、システムの [閉じる] ボタンが再び非表示になっていることに気付きます。したがって、おそらく (1) アプリケーションが最初に起動したとき、および (2) ResizeMode = NoResize のときです。

私の最初の疑いは、カスタム Chrome での WM.NCHITTEST の処理方法です。HTCLient を返すようにこの関数を変更すると、この問題は解決されます。ただし、キャプション バーをドラッグ アンド ドロップしたり、右クリックしたりすることはできません。

以下は、WindowsChromeWorker クラスからの WM.NCHITTEST メッセージのハンドラーのコードです。

これを修正する方法はありますか?

どうもありがとう、アルジュン