問題タブ [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.
c# - setParent 後の子ウィンドウの奇妙な動作
次のコードを使用して、Winform アプリケーションに「Windows Journal」アプリケーションを埋め込もうとしました。それは機能し、すべてがよさそうです。しかし、既にアプリケーションの子ウィンドウになっている Windows Journal アプリケーションを使い始めると、マウスの動作に一貫性がないことがわかりました。具体的には、たとえば、(x, y) から (x+100, y) に線を引こうとしたが、(x-50, y-50) から (x, Y-50)。「Mouse synchronize/inconsistent」、「setparent 後のアプリケーションの異常な動作」、「child-windows の奇妙な動作」というキーワードでググってみましたが、関連する解決策はまだ見つかりませんでした。また、setParent の前に WS_POPUP スタイルをクリアしようとしましたが、うまくいきませんでした。誰か私にアイデアを教えてもらえますか?ありがとう。
コードは、JournalControl.cs という名前のコントローラーにあり、JournalControl は、アプリケーションのメイン フォームの splitContainer.Panel にあります。そのため、メインフォームのボタンがクリックされたら、まずユーザーが Journal アプリケーションで指定した jnt ファイルを開きます。
次に、timCheckJournal_Tick() で、アプリケーションを Panel 内に配置します。
winapi - ListViewコントロールの親を変更するWinAPI
タブコントロールを備えたアプリケーションを開発しています。タブ内のアイコンをクリックすると、ポップアップウィンドウが開き、タブの内容がポップアップウィンドウに移動します。
私がすることは簡単です-タブ内の各コントロールの親をポップアップウィンドウに変更します(SetParent()を使用)。リストビューコントロール(仮想リストビュー)を除いて、すべてがうまく機能します。
親を変更した後、リストビューはWM_NOTIFY通知を送信しなくなりました。
非仮想リストビューでもテストしましたが、同じことが起こります。
私はグーグル中を検索して何も思いつかなかったので、どんなアイデアでもいただければ幸いです。
アップデート
親を変更した後、リストビューはWM_NOTIFY通知を前の親に送信し続けます。これは一般的なコントロールのバグですか?
ms-access - SetParent を使用して Access フォームを Access からエスケープする
Accessウィンドウを非表示にしてデスクトップにフォームを表示し、他のアプリケーションと簡単に並べて配置できるように、Microsoft AccessをメインのAccessウィンドウから「エスケープ」しようとしています。
最初に、Access 独自の Form.PopUp プロパティを使用するコード サンプルをいくつか見つけましたが、これは実行時に設定できず、デザイン ビューでのみ設定できます。これは私がやろうとしていることを達成しているように見えますが、2 つの欠点があります。
デザイン ビューと通常のビューを切り替えるには、その間にウィンドウを「閉じる」必要があります。特に保存されていない新しいレコードを作成するために使用されるため、現在の状態を維持するためにウィンドウを開いたままにしておきます。
メインのフォームから他のフォームを開きたいのですが、それらも「ポップアップ」として設定されていない限り、このアプローチではうまく機能しないようです。しかし、これらもデザイン ビューなどに配置する必要があるため、これは面倒です。また、2 つのポップアップ ウィンドウを簡単に切り替えることができるかどうかもわかりません。
次に、必要なことを実行しているように見える SetParent という API 関数を見つけました。次のコマンド (VBA 構文) を使用しました。
しかし、私は2つの問題に遭遇しました(おそらく関連しています:
ウィンドウはかなり反応が悪いように見えました (たとえば、入力できず、ボタンをクリックしても機能しないようでした)。
ALT + TAB を実行すると、BSOD が発生しました。
/li>
メイン アクセス ウィンドウの外にある他のアクセス フォームを呼び出して表示できる、アクセス ウィンドウのないフォームを作成できるようにする他の方法はありますか?
SetParent API ドキュメントで、UI 状態の変更とウィンドウ スタイルの変更を行う必要がある他にいくつかの作業があることに気付きましたが、それらを行うための適切な方法が見つかりません。これを行うと、BSOD と応答しない問題は解決しますか?
アイデアをありがとう!
c# - win32をwpfにホストすると、Windows 7で機能しない
Windows 8 で WPF を開発し、pinvoke user32.dll を使用して win32 ウィンドウを WPF にホストすることに成功しました。しかし、Windows 7 を使用してビルドすると、非 WPF アプリケーションが WPF のフォーム パネルにホストされません。そのアプリケーションを起動したような別のウィンドウを開きます。
これは私のコードです:
WindowFormHostを使用してwin32ウィンドウをWPFにホストするためにuser32.dllを使用する別の方法はありますか?
vb.net - VB.NET フォーム内で Lotus Notes を開く
私はすでにほぼ 5 年間、ここで多くのことを読んできましたが、ここに投稿するのは初めてです。
現在、Lotus Notes をウィンドウ フォーム内で開く必要がある VB.NET プロジェクトに取り組んでいます。ここで見たように、SetParent機能を使用してみました
http://xtremevbtalk.com/showthread.php?t=272163 .
それはうまくいきましたが、問題は、Lotus Notes クライアントのウィンドウを閉じると、クライアント全体が閉じてしまうことです。メールを再開しようとすると、メモリ不足のエラーが表示されるか、まったく応答しません。
イメージは、VB.NET フォーム内で開かれた Lotus Notes を示しています
ここに記載されているように、レジストリのヒープ サイズの値を増やしてみましたが、問題は解決しません。
http://forum.sysinternals.com/insufficient-memory_topic17945.html
ボタン 1 をクリックしても Lotus Notes が開かないことを示す画像
また、タスクマネージャーで確認したときにメモリ使用量がそれほど高くないため、メモリ不足エラーが正しいとは思えません。
http://i61.tinypic.com/33jtyxe.png
コメントや解決策は大歓迎です。
ティア。
ロス
qt - QApplication で Windows::SetParent を使用すると GUI がフリーズする
Windows での 2 つの Qt プログラムの通信についてです。1 つのプログラムをクライアントと呼び、もう 1 つのプログラムをサーバーと呼びます。状況: クライアントをサーバーの QWidget 内に配置したい。Windows は、装飾 (境界線、タイトル バーなど) を削除し、ウィンドウの親を変更するための優れたメソッドを既に提供しているため、再描画、サイズ変更、ウィンドウのアクティブ化はすべて Windows によって処理されます。QProcess を使用してクライアントを起動すると、それが起動されるのを待って、対話できるウィンドウができるようにします。次に、装飾を削除し、サーバーの QWidget を親として設定します。このコードですべて完了:
これはすべて完全に機能し、クライアントはタブの上にうまく配置され、再描画などはすべて完璧に機能しています。しかし、私が直面している問題は、時々 (常にではありません!)サーバーのボタンが応答しなくなることです。このような場合、ボタンが画面の中央にある限り、ボタンが反応しないことに気付きました。しかし、最も奇妙なことは、ウィンドウ全体を移動してボタンが画面の端近くに配置されると、機能することです。中央に戻すと、再び機能しなくなります。何か案が??誰か?
次のコードも試しました:
このソリューションでは、GUI はフリーズしませんでしたが、クライアントのウィンドウ (内部ウィンドウ) でキーボードが機能しなくなりました。たとえば、内部ウィンドウがメモ帳の場合、その中に入力することはできませんが、マウスは使用できます。何ができるか考えていますか?
c# - ウィンドウが開く前のウィンドウの SetParent
SetParent
アプリで外部アプリをホストするために使用しています(を使用WindowsFormHost
)。
流れはこんな感じです。
- アプリを開きます
- 外部アプリを開く
programmaticly
- SetParent を使用してアプリ内でホストします。
上記のフローにより、外部アプリが開くと、タスクバー/タスク マネージャーに一瞬 (親が設定されるまで) 表示されます。
最初に親を設定してからアプリを開く順序をどうにか変更できますか? 私が望むのは、私が今説明したことを避けることだけです..
私の問題に対する他の解決策があれば、喜んで受け入れます.
編集:
これは私のコードです
vb.net - Windows-8 の SetParent API は、アプリケーション メニューとリボンのフォント サイズを変更します
SetParent API を使用して、アプリケーションの GroupBox コントロール内に Word ドキュメントを配置する VB.NET アプリケーションがあります。
デスクトップで Word を開いた後、コードはメッセージ ボックスで停止し、Wordwindow (Word 2013) はまったく正常に見えます。
次に、SetParent-API は Wordwindow をデスクトップから myForm の myGroupBox に移動します。これは今までどのオペレーティング システムでも問題なく動作していましたが、最近アプリケーションを Windows-8 (MS Surface Pro 3 上) に切り替えたところ、SetParent の後、フレーム化された Wordwindows にメニューとリボンが増えて表示されるようになりました。Word メニューとリボン コントロールのすべてのタイトルとタブのサイズが突然大きくなりました。フォント サイズがはるかに大きくなっています (ところで、Word 自体は正しく機能しており、Word 文書自体のテキストにも影響はありません)。
これがどのように起こるか誰にも分かりますか?これをプログラムで防止したり、後で修正したりできますか?
user-interface - setparent(win32 api) を使用した外部プロセスへの埋め込みウィンドウに関する問題
SetParent 関数を使用して、自分のプロセスのウィンドウを外部プロセスのウィンドウに埋め込もうとしていますが、最小化後にアプリケーションを元に戻すことができないことがわかりました。
埋め込まれたウィンドウは WS_OVERLAPPEDWINDOW スタイルで、これを WS_CHILD に変更するとこの問題を処理できます。しかし、別の理由で WS_OVERLAPPEDWINDOW が必要です。
誰か私に手を貸してくれませんか?