問題タブ [treeview]
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# - commctrl コマンドを C# に移植する支援
C++ アプリでは、サード パーティのプロセスで実行されているウィンドウを指す hWnd があります。このウィンドウには、COM TreeView コントロールを拡張するコントロールが含まれています。このコントロールの CheckState を取得することに興味があります。
hWnd を使用して、commctrl.h から TreeView_GetRoot(hwnd) を使用して HTREEITEM を取得します。
hwnd はウィンドウを指し、hItem は TreeView_GetRoot(hwnd) からの戻り値です。それらは次のように使用されます。
このコードを、同じことを行う C# アプリに移植しようとしています (TreeView コントロールの CheckState をオフにします)。私は COM を使ったことがなく、まったくなじみがありません。
.NET mscomctl を使用してみましたが、TreeView_GetRoot または TreeView_GetCheckState に相当するメソッドが見つかりません。私は完全に立ち往生しており、C#でこのコードを再作成する方法がわかりません:(
提案?
visual-c++ - CTreeCtrl オブジェクトの TVN_SELCHANGED に関する問題
CTreeCtrl MFC クラスを使用して作成されたツリー コントロール オブジェクトがあります。ツリー コントロールは、名前の変更をサポートする必要があります。ツリーの項目のいずれかを左クリックすると、TVN_SELCHANGED イベントが呼び出され、そこから以下のようにツリーの選択項目を取得できます。CString s = m_moveListTree.GetItemText(h);
ただし、ツリー内のアイテムを右クリックしても TVN_SELCHANGED イベントが発生しないため、選択したアイテムは左クリック イベントと同じままです。これにより、次の問題が発生します: 1) ユーザーがアイテム A を左クリックする 2) ユーザーがアイテム B を右クリックして、名前を変更すると言う 3) 選択したアイテムがまだ A であるため、アイテム A に名前変更が適用されます。
問題解決にお役立てください。
-プラビーン
c# - C#でTreeViewのドラッグ/ドロップ操作を検証するための最良の方法
ドラッグアンドドロップ操作が許可されていることを確認したい。有効なアイテムは、別の「コントロール」から取得することも、カスタムツリービュー内から内部的に取得することもできます。現在私はこれを持っています:
私は物事を改善するためにすべてのチェックコードをこのメソッドに移動しましたが、私にとってこれはまだひどいです!
非常に多くのロジックがあり、ツリービューがそれ自体で実行すると予想されることを実行します(たとえば、「TargetExistsInNode」は、ドラッグされたノードがその子の1つにドラッグされているかどうかをチェックします)。
コントロールへの入力を検証するための最良の方法は何ですか?
asp.net - ASP.NET TreeView と選択したノードの選択
TreeView の選択されたノードをクリックするイベントをキャプチャするにはどうすればよいですか? 選択が明らかに変更されていないため、 SelectedNodeChangedは発生しませんが、選択したノードがクリックされたことを知るために、どのイベントをキャッチできますか?
更新: 時間があれば、TreeView コントロールの内部に飛び込んで、クリック イベントを処理する対象と場所を掘り下げ、TreeView をサブクラス化して、新しいイベント OnSelectedNodeClicked を公開する必要があります。
おそらくクリスマス休暇中にこれを行い、結果を報告します。
更新: TreeView コントロールをサブクラス化する以下のソリューションを考え出しました。
winapi - NM_CUSTOMDRAW を使用した Win32 TreeView の可変高項目
NM_CUSTOMDRAW を使用する場合、WIN32 TreeView コントロール内の項目の高さを可変にすることはできますか?
現在、NM_CUSTOMDRAW の dc で可変サイズのフォントを正常に選択できますが、項目のテキストが切り取られます。
asp.net - ASPNET TreeView 拡張ノード スタイル
ASP.Net の TreeView コントロールで、Expanded ノードにカスタム スタイルを適用する方法を知っている人はいますか? 多くのルート ノードがあり、展開されたノードに異なる背景を持たせたいと考えています。
c# - WinForms TreeView のプラス記号を非表示にする
1 つのメイン ノードと複数のサブノードを持つ WinForms TreeView があります。
メイン ノードで + (プラス記号) を非表示にするにはどうすればよいですか?
c# - ツリービュー ラベルの検証と調整
ツリービュー コントロールがあり、ラベル編集後のイベントをキャッチしました。ユーザーの入力を検証して調整できるようにしたい-たとえば、長すぎる場合-しかし、新しい値を変更することはできず、キャンセルすることしかできないようです。何か案は?
新しいフォームを開く必要はありません。ユーザーはこれらの範囲の名前を変更している可能性があり、面倒ではありません。
乾杯。
vb.net - WinForms Treeview LabelEdit 内で 259 文字の制限を変更するにはどうすればよいですか?
私の VB.Net Winforms アプリは、階層データをツリーで編集し、データベースに保存できるようにするツールです。ツリービュー コントロールを使用しています。
コンテンツは、他のドキュメントからツリー ノードにドラッグ アンド ドロップするか、ノードを直接編集できます。
データベース フィールドを直接編集し、少しのコンテンツ (1000 文字以上!) を入力すると、ツリービューに問題なく表示されますが、ドラッグ ドロップすると、データが 259 文字で切り捨てられます。直接編集する場合、最大編集「ウィンドウ」も 259 文字です。
259 というのは非常に奇妙な数字のように思えるので、疑問に思っています。このサイズはどこから来ているのでしょうか。