問題タブ [setparent]
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.
delphi - 別のアプリにシェルし、それを Delphi 形式で表示する方法
Delphi では、ShellExecute を何年も使用して、他のアプリケーションを起動 (およびオプションで待機) してきました。ただし、これらのアプリケーションの 1 つを Delphi アプリ フォームの 1 つに表示する必要があります。以下のコードを簡単なテストとして、メモ帳を開き (開く)、フォームの PAnel1 内に結果を表示する (表示しない) ことを試しました。親切な人が私を正しい軌道に乗せることができますか? ありがとう
wpf - SetParent COM および WPF
私は2つの画面を持っています。1 つは vb で作成され、2 番目は WPF で作成されます。
vb を wpf 内に埋め込む必要があります。
したがって、最初に新しい Windows フォームのフォームを作成し、Win32 API 関数「SetParent」を使用して vb 画面を Windows フォーム内に埋め込むというアイデアがありました。次に、wpf WindowsFormsHost コントロールを使用して、wpf フォーム内で winform をホストします。
個別のテスト アプリケーションでは、すべてがうまくいっています。しかし、完全な巨大なwpfアプリケーションでそれを実行しようとすると、winformが空でロードされ、vb画面が点滅してすぐに消えます。
考えられる解決策はありますか???
助けてください..本当に急いでいます。
ありがとう。
PS: 誰かが vb6 を wpf に埋め込むより良い方法を持っている場合...私はそれを聞きたいです。
ネリア
.net - Outlook: ペイントの問題なしで SetParent(_form.Handle, Outlook.Handle) する方法は?
Outlook のトップ レベルのウィンドウ ハンドルをアドインの [設定] フォームの親に設定したいと考えています (そのため、一番上に表示され、Outlook にとどまります)。
他の Office アプリで SetParent を使用すると問題なく動作しますが、Outlook ではレンダリング エラーが発生します。Outlook が親である場合、フォームは正しく再描画されません (そのため、フォームをドラッグしたり、クリックして元に戻したりすると、Outlook の他の部分がその上に描画されます)。
私が行う無効化は無視されます。
誰か良い解決策を知っていますか?ありがとう!
編集:追加したいフォームは.Netフォームであり、問題の一部である可能性があります。
delphi - Setparent(..)に割り当てた後のShowmodalの問題
MainAppsとSubAppsの2つのアプリケーションを作成しました。SubAppsには、ログイン/ログアウトフォームなどのモーダルタイプのダイアログボックスがあり、正常に動作します。
MainAppsにアタッチすると、モーダルダイアログボックスが通常のボックス形式のように表示されます。「DIALOG.SHOWMODAL」ではなく「DIALOG.SHOW」のように動作します。
私はデルファイコンパイラを使用しています
SubAppsボタンクリック;
MainApps ButtonClick
c# - SetParent() 使用時のウィンドウ配置の問題
childForm
PInvoke を介して SetParent API を使用して、Excel のメイン ウィンドウの子として設定しようとしています。
上記のように、私の意図は、子を Excel ウィンドウの左上隅に配置することでもあります。ただし、何らかの理由で、childForm
常に奇妙な場所に行き着きます。
私が間違っているのは何ですか?
wpf - WIn32 SetParent() を使用して非 WPF アプリ内で WPF アプリをホストする
別の非 WPF アプリケーション内でホストされているように見せたい WPF アプリケーションがあります。実際には、この非 WPF アプリは Internet Explorer 内の ActiveX ですが、問題を説明するために単純な Windows フォーム アプリを使用します。
私は Windows API 関数 SetParent を使用します。これには既に数十のスレッドがあります。ただし、正確な問題について書かれたものは見つかりません。WPF アプリの右側と下部にある小さな領域が、非 WPF アプリのウィンドウ内に描画されません。
単独で実行される WPF ウィンドウ:
WinForm アプリのウィンドウを親とする WPF ウィンドウ:
WPF アプリを WinForms アプリまたはプレーンな Win32 アプリ (メモ帳など) と交換しても問題は発生しません。
WinForm コードは次のようになります。
注: この SetParent の使用が必ずしも推奨される方法ではないことは承知していますが、この方法でそれを行う方法を知りたいし、見つける必要があるので、教えてください :)
outlook - Outlook メールグリッドで CustomControl を設定するには?
SetParent とサイズ変更 (MoveWindow) を使用して Outlook メールグリッドを制御し、メールグリッドが変更された場合は無効にしようとしています。
これは機能しますが、サイズを変更すると、コントロールがちらつきます。
My Control は、Outlook の Mailgrid に代わるものです。メールプレビューを変更するには、コントロールを介して元のメールグリッドの選択を変更するだけです。
私のコントロールの親は、Outlook のメイン ウィンドウです。すでに Mailgrid ウィンドウを閉じようとしましたが、解決しませんでした。
メールグリッドを親として設定するとちらつきが止まりますが、この場合、選択を変更するとちらつき、メール検索ウィンドウを制御できなくなります。
極端なちらつきを止める方法を知っている人はいますか?
Outlook のメールグリッド メッセージの変更を処理するクラス
Event-Listener と Control を作成し、その親を設定する
変更イベント時
私のコントロールの絵
/// 編集
Thread.Sleep(1000)
DoPaint メソッドにa を追加した後、ペイント順序を確認できました。サイズ変更後、コントロールが一瞬表示され、その後、Outlook メールグリッドがコントロールを上書きします。私は前に設定しようとしましbase.WndProc(ref m);
たOnChange();
が、何も変わりませんでした。これが問題の解決に役立つことを願っています。
/// 編集
いくつかのテストの後、すべての Outlook ウィンドウを聞いてみましたが、Graphics.Clear
それらはオレンジ色でした。理由はわかりませんが、これでもうまくいきません。サイズを変更している間、ほぼすべてが見通しによって描画されます。
c# - SetParent API によって作成された MDI 子の再描画の問題
メインウィンドウとメニューオプションから開かれたいくつかのmdi子で構成されるCで書かれたレガシーアプリがあります。新しい mdi の子を C# で記述できるようにするために、C コードによって呼び出され、次に C# コードを呼び出す C++ COM 相互運用レイヤーを作成しました。次に、SetParent API を使用して、開いている C# ウィンドウの新しい親として C メイン ウィンドウを設定します。これは機能しているようです - C# ウィンドウはメイン ウィンドウの MDI 子のように動作します。しかし、子ウィンドウは適切に描画されず、他のウィンドウをその上に移動したり、メイン ウィンドウの端に移動したりすると悪化するだけです。他のウィンドウの一部で描画されるか、移動するとそれ自体の一部が残ります。 . さらに、画面がうまく反応しません。たとえば、あるテキスト ボックスから別のテキスト ボックスに移動できません。
私のソリューションのアーキテクチャについて質問しないでください (信じてください。これが唯一の方法です)。ただし、SetParent によって作成された子でこのような問題が発生したことがある場合は、修正できたかどうかをぜひお聞かせください。 .
vb.net - フォームの SetParent() のマネージ メソッド
プログラムにないウィンドウの子としてフォームを表示するにはどうすればよいですか?
親になるウィンドウ ハンドルがありますが、フォームに SetParent() のマネージ メソッドがありません。ありますか?また、このform.Show()
メソッドは、IWin32Window を実装するマネージド オブジェクトのみを受け入れるようです。
管理されたメソッドがない場合、将来のシステムとの互換性を最大限に高めるために API を宣言するための推奨される方法は何ですか? このような?:
IWin32Window を実装し、何らかの方法でウィンドウをラップするクラスを構築することは可能ですか? このようなことをすると便利ですが、私は IWin32Window に慣れていません:
c++ - CDialogShowWindowの問題
SDIアプリケーションがあります。アプリケーションには、作業中のサーバーとの通信などのメッセージを表示するために使用されるモードレスダイアログがあります。問題は、ダイアログの親ウィンドウがメインフレームに設定されている場合、ShowWindowメソッドが期待どおりに機能しないことです。ダイアログはメインフレームで覆われているようです。ShowWindow呼び出しの横にSleep呼び出しを置くと、ダイアログが表示されます。そして、スリープが終了すると、ダイアログが消えます。ダイアログの親を設定しない場合、ShowWindow呼び出しは正常に機能します。ただし、ダイアログの親ウィンドウを設定したいのですが。それで、それをどのように解決するのですか?