Win32のウィンドウハンドルがプロセスを通過しているので、プロセス間UIを実現するために使用することができます。しかし、この記事では、特定のクロスプロセスUIについて話すことはありませんのみ重要と実装の容易さ、道子ウィンドウの使用に言及します。
あなたは、子ウィンドウの後に使用することができ、子ウィンドウの内容が点滅したときにドラッグがウィンドウのサイズを変更しました。あなたはこのような問題が発生した場合には、単に解決するために、この記事を読んで。
問題
あなたは、以下のこのダイナミックな数字を見て、ウィンドウの点滅を感じることができます。
実際には、ウィンドウをドラッグしたとき、それはフラッシュに常にあるが、各フラッシュは、GIF遮断時にカット未満、非常に高速です。
あなたが実際にプロジェクトを参照するには、レースを実行する場合は、次のコードを使用することができます。
あなたは試してみたい場合、私はあなたが使用することはできません、提出を抽出されたコードを見てきましたmaster
ので、枝をmaster
分岐修正が問題をちらつきます。
後で使用するCreateWindowEx
純粋なWin32のウィンドウを作成するには、このちらつきは撃たれる可能性が高いです。
解きます
public class HwndWrapper : HwndHost
{
protected override HandleRef BuildWindowCore(HandleRef hwndParent)
{
const int WS_CHILD = 0x40000000;
++ const int WS_CLIPCHILDREN = 0x02000000;
var owner = ((HwndSource)PresentationSource.FromVisual(this)).Handle;
var parameters = new HwndSourceParameters("demo")
{
ParentWindow = owner,
-- WindowStyle = (int)(WS_CHILD),
++ WindowStyle = (int)(WS_CHILD | WS_CLIPCHILDREN),
};
var source = new HwndSource(parameters);
source.RootVisual = new ChildPage();
return new HandleRef(this, source.Handle);
}
protected override void DestroyWindowCore(HandleRef hwnd)
{
}
}
理由
我々は模索している......
参考資料
- WPF - ウィンドウがHwndHost要素が含まれている場合は、カスタムDWM描かれた窓枠がリサイズに点滅 - スタックオーバーフロー
- (クロームのような)マルチプロセスを探索WPF UI - ジェーンブック
- WS_CLIPSIBLINGS WS_CLIPCHILDRENとの理解(個人的にはかなり包括的であると考えている) - helloj2ee - ブログパーク
私のブログはで開始されhttps://blog.walterlv.com/、および特色CSDNから解放されますが、それはめったに一度放出されない更新されます。
あなたが任意のブログの内容を理解していない表示された場合は、共有してください。私が建てDOTNET職業技術学院が参加することを歓迎します。
この作品は、ある非営利- -同一条件許諾4.0の国際ライセンス契約クリエイティブ・コモンズのライセンスのために。:、、使用を転載再投稿、しかし陸毅(リンク含むが署名した文書保管してくださいへようこそhttps://walterlv.blog.csdn.net/を、商業目的のために使用してはならない、記事に基づいて作業が同じライセンスを変更してください)リリース。ご質問があれば、してください私に連絡。