問題タブ [docking]
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.
wpf - UI オートメーションと互換性のある Wpf ドッキング コントロール
製品で Ranorex を使用して UI オートメーション テストをゆっくりと作成してきましたが、いくつかの問題に遭遇しました。
Telerik Wpf コントロール (TabControl、TreeView、Grid、および Docking) を使用していますが、これまでのところ、Ranorex を使用して TreeView と Grid のみをテストできました。Ranorex で動作する標準の Wpf TabControl の TabControl を置き換えました。ただし、ドッキング コントロールは機能しません。もちろん、代わりに使用できる標準の Wpf ドッキング コントロールはありません。
私の質問は次のとおりです。UI オートメーション ツール (できれば Ranorex) を使用してテストできる Wpf ドッキング コントロールを知っている人はいますか?
最初は有望に見えたAvalonDockを見つけましたが、彼らのサイトのこのスレッドによると、UIオートメーションをサポートしていません:(
コメントをお待ちしております。
シイ
c++ - 親ウィンドウへの子ウィンドウのドッキング
ユーザーがメイン ウィンドウのサイズを変更する (コーナーをドラッグする) ときに、6 つのコントロール (メイン ウィンドウの子ウィンドウ) を大きくする必要があります。MoveWindow 関数を使用して、メイン ウィンドウの WM_SIZE または WM_SIZING 関数で各子の比率を変更することで、これを達成できると考えました。これを行うと、デバッグ ビルドがおかしくなりました (複数のウィンドウ、終了後にウィンドウの画像が動かなくなるなど)。リリース ビルドは正常に実行されましたが、メイン ウィンドウのサイズを変更しても子ウィンドウは変更されませんでした。
http://msdn.microsoft.com/en-us/library/ms632598%28v=VS.85%29.aspx#creating_enumerating_etcがこれを行う別の方法を使用していることがわかりました: すべての子ウィンドウを列挙し、enum コールバックすべての子に割り当てられた一意の ID を介してウィンドウのサイズ変更を処理する関数。これを自分で試してみると、メイン ウィンドウのサイズが変更されたときにコントロールに違いはありませんでした。
なぜこれが機能しないのですか?
メイン ウィンドウの switch ステートメントでは、次のようになります。
子列挙子のコールバック関数:
silverlight - Silverlight:RadPaneGroupの問題を非表示にする
こんにちは私は非常に奇妙な問題に直面しています。
私の要件は、ページの左側にツリーを配置し、ページの右側にビューを表示することです。ツリーのさまざまなノードをクリックすると、さまざまなビューが表示されます。
これは、2つのradペイングループを使用して実装しました。これで、すべてのロジックが実装され、ツリーノードが目的のRadPaneGroupを非表示または表示するので、正しいパスに進みます。
ただし、問題は、ページが最初に読み込まれるときに、両方のペイングループが表示されることです。最初は隠したいです。2番目のRadPaneグループの可視性は折りたたまれていますが、それでも表示されます。最初にradペイングループの1つを非表示にするにはどうすればよいですか。
敬具、
wpf - WPF ListView をそのコンテンツよりも高くしないが、他のコントロールを使用してウィンドウに合わせる方法は?
次のようにWPF UIを配置しようとしています:
- ウィンドウの上部には、自己決定する高さのコントロールがあります (ウィンドウの上部に効果的にドッキングされますが、必要な高さになります)。
- これらのコントロールの下には ListView があります。ListView には、それぞれ高さが異なるさまざまな数の項目を含めることができます。問題: ListView は、必要以上に高くしてはいけません。リスト ビュー内のすべてのアイテムがウィンドウに簡単に収まる場合は、ListViewの高さがすべてのアイテムを表示する正確な高さになるようにします(したがって、ウィンドウは、下部に空白スペースがある Web ページのフロー レイアウトのように見えます)。一方、すべての ListView アイテムがウィンドウに収まらない場合は、UI 全体がウィンドウに収まるようにします(下の 3 番がウィンドウの下部にドッキングされ、ListView が使用可能なスペースを埋めているかのように)。 . ユーザーがウィンドウのサイズを変更したり、リストビューの内容を変更するボタンを押したりすると、これはすべて動的に調整する必要があります。
- ListView の下には、自己決定型の高さのコントロールがいくつかあります。これらは、常に ListView のすぐ下に隙間なく表示される必要があります。特に、ListView のすぐ下に収まる場合は、ウィンドウの下部にドッキングするだけではいけません。
解決策は大歓迎です。私はしばらくいじって、最初のコントロールが上部にドッキングされたウィンドウで外側の DockPanel を使用し、ListView が残りのスペースを埋めるが、VerticalAlignment="上"。
純粋な XAML ソリューションが理想的ですが、コード ビハインドが避けられない場合は気にしません。このような複数の配置を垂直に積み重ねることができるソリューションのボーナスポイント:) 助けてくれてありがとう!
.net - VSX-ドッキングするToolWindowPanesの初期位置を設定します
ツールウィンドウを公開するVisualStudioパッケージを作成していて、パッケージが最初に読み込まれたときに、メインのVisualStudioウィンドウの左端にドッキングして表示されるようにしようとしています。
私は上記の多くのバリエーションを試しましたが、私が達成できた最善の方法は、ウィンドウを下部にドッキングすることです-それでも、ユーザーを永続化するのではなく、パッケージが再ロードされるたびに再ドッキングし続けますウィンドウの位置。
ウィンドウペインが最初にメインウィンドウの左側にドッキングされて表示されるように指定するにはどうすればよいですか?
c++ - オンザフライで CDockingManager ドッキング モードを変更するには?
MFC クライアント アプリケーションで即時ドッキングとスマート ドッキングを切り替えられるようにしたいと考えています。既定でDT_IMMEDIATE
は、ドック ペインが Visio と同様に機能するように設定されます。ただし、ユーザーが Ctrl キーを押したままにするDT_SMART
と、ドッキング ペインをドラッグまたは移動するときにスマート マーカーに切り替えて表示し、Visual Studio と同様にドッキングできるさまざまな場所を確認できるようにします。
キーダウンハンドラーでこれを適用しようとしましたが、起動しません。次に、使用に頼りPreTranslateMessage
、入力をキャッチしてドッキングモードを正常に設定しますが、期待どおりにスマートドッキングを表示または有効にしません。
DT_SMART
ログ ファイルでは、設定とDT_IMMEDIATE
Ctrl キーを押して離したときが交互に表示されることがわかりますが、即時ドッキングのみが期待どおりに機能しています。これを機能させるために必要な再描画やその他の呼び出しはありますか?
java - Swing で 1 つのウィンドウを別のウィンドウにドッキングするにはどうすればよいですか?
2つJFrame
開いています。ウィンドウ A の右側にウィンドウ B をスポーンさせ、ウィンドウ A の右端にぴったりと合わせます。ウィンドウAにくっついて移動したいのですが、どうすればこれができるようになりますか?
c# - Windowsフォームをドッキングする(タブ付きチャットインターフェイス)
タブコントロールを使用すると言う人のために編集
タブコントロールを使用したいと思います。それでも、メインフォームからタブコントロールをリンクする方法がわかりません。私は次のようなことをしなければならないと思います:
- 空白のTabControlを含むフォームを作成します。ページは作成されません。
- 私のコントロールを使用して、CustomuserControlを作成します([追加]-> [ユーザーコントロール])。
- 新しいチャットが入ったら、タブコントロールアイテム、タブコントロールページを作成し、カスタムコントロールをタブコントロールページに追加します。タブコントロールハンドルをハッシュテーブルに追加して、新しいメッセージが着信したときに、適切なコントロールでそれらを参照できるようにします。
しかし、私はこれを行う方法がよくわかりません。たとえば、ユーザーコントロール内でカスタムイベントを作成できることを知っています。たとえば、各コントロールに「太字」ボタンがある場合、そのコントロールが設定されている各ページで実際にボタンを使用できます。
それでも、メッセージコールバックを登録して、MessageGrabberを使用してデータを送信できるようにする必要があります。また、新しいウィンドウが表示されたときにプログラムで割り当てられるUserControl内に割り当てられていないものもあります。しかし、参照するコントロールがないため、割り当てることができません。
KISS哲学
今のようにフォームを作成して、そのフォームをウィンドウなどにドッキングする方が簡単ではないでしょうか。つまり、本質的にはまだフォームを作成しているのですが、それは別のウィンドウでもありますか?
元の質問
さて、私は困惑しています(複雑なC#ロジックに関してはそれほど驚くことではありません笑)!私がやろうとしていることは次のとおりです。
目標:新しいチャットアプリケーションのタブ付きチャットを設定します。
完了:チャットメッセージを受信するか、ユーザーが名簿に新しいチャットを要求するたびに、新しいウィンドウを開きます。これは完全に機能しており、ユーザーがチャットをまだ開いていない場合にのみウィンドウを開きます。そこは素晴らしくて幸せです。
問題:窓が欲しくない。ええと、私はウィンドウが欲しいのですが、たくさんの別々のウィンドウは必要ありません。たとえば、カスタマーサービスチームは一度に約10個のアクティブなIMウィンドウを使用している場合がありますが、10個のウィンドウを並べて表示する必要はありません。むしろ、1つのプライベートIMウィンドウがあり、10個のタブすべてがウィンドウ内にドッキングされていることを望みます。
ロジック:これはここでの私のロジックです。欠陥がある可能性があります。お詫びします。
- OnMessage:チャットウィンドウがまだ存在しない場合は、新しいチャットウィンドウを開きます。存在する場合は、現在のチャットウィンドウ内のタブとして開きます。
- SendMessage:^^同上^^
コード例:
上記の注意:Util。関数は、ハッシュテーブル内で開かれているウィンドウを追跡するだけです。これにより、メッセージが着信すると、適切なウィンドウにルーティングされます。これは次のように追加されます。
frmChat()形式のコマンド。
使用中のライブラリ:agsxmpp from: http ://www.ag-software.de/agsxmpp-sdk/download/
問題:このコードをウィンドウではなくタブ内で開くように変換するにはどうすればよいですか?誰かが私にいくつかのアイデアを与えて、それを手伝ってくれませんか。私はその概念に頭を悩ませているようには思えません。
c# - 別のウィンドウ内にウィンドウをドッキングする
私はwinformアプリケーション(.NET 2.0 C#)を持っています。このアプリケーションから、別のプロセス(別のwinformアプリケーション)を開始して、ウィンドウにドッキングします(または、少なくともドッキングされているように見せます)。これまでのところ、ドッキングコントロールに関する情報のみを見つけることができ、個別のプロセスのウィンドウは見つけることができません。私の最初の考えは、ウィンドウのハンドルを取得し、管理されていないシステムコールを使用して、ウィンドウの高さ/幅と位置をドッキング領域に設定することです。しかし、始める前に、私はあなたの良い人の誰かが同じようなことをしたかどうかを確認したかったのです。ドッキングしたいアプリケーションのソースコードにアクセスできますが、回避できる場合は変更を加えたくありません。親アプリケーションとなるものを完全にプログラミング制御できます。何かアドバイス?前もって感謝します!
winforms - WinForms + Devexpress でのドック レイアウトの問題
多くの DevExpress 要素を含む WinForms ダイアログがあります。フォームには、いくつかの SplitContainers と TextEdit 要素と DevExpress XtraGrid コントロールがあります。
すべてのコントロールは Dock=Fill で、ツールバーの場合は Dock=Top です。
フォームのサイズを変更すると、すべての要素が再レイアウトされず、次の結果が得られます: http://dl.dropbox.com/u/51344/winforms1.png。
SplitContainers の 1 つを手動でサイズ変更するまで、フォームは再レイアウトされず、すべてが正常に戻ります ( http://dl.dropbox.com/u/51344/winforms2.png )。
フォームの OnResize イベントで見つけることができる「PerformLayout、Refresh、Redraw」関数をすべて呼び出そうとしましたが、うまくいきませんでした。
この問題は、RemoteDesktop で実行すると、さらに悪いレイアウトの問題を引き起こします。
この問題をデバッグする方法を知っている人はいますか?
編集:
私は自分の質問に答えるのが嫌いで、数日間オンとオフで戦っています。この見苦しいコードはうまくいくようです。splitcontainers のサイズを 1 ピクセルずつ変更して、再レイアウトを強制します。