問題タブ [tvirtualstringtree]

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.

0 投票する
1 に答える
766 参照

delphi - 検索結果の TVirtualStringTree ハイライト

以下の例のような検索基準に従って、VirtualStringTree のノードからテキストを強調表示したいと思います。

ここに画像の説明を入力

何か提案はありますか?

0 投票する
1 に答える
1171 参照

delphi - VirtualStringTree: タイプが文字列ではないテキストを検索します

検索手順を a に実装しVirtualStringTreeたいと思います。検索テキストをポインターからではなくノードからのテキストと比較して実行したいと思います (例: Data^.Column0)。これは常にString.

ノードからテキストをそのまま戻すための提案を手伝ってください。

理解を深めるために、次のコードを参照してください (Lazarus の例を調整します)。

0 投票する
1 に答える
1454 参照

delphi - TVirtualStringTree - 可変行の高さの最適化

私たちのアプリケーションでは、TStringGrid コンポーネントから TVirtualStringTree コンポーネントに移行しています。大量のデータが表示されています (最大 50000 行および 5 列)。1 つの列に 1 行以上のテキストが含まれています。stringgrid で 'DrawCell' を使用して最適なパフォーマンスで複数行の機能を実装することができました: すべての行の即時再描画 (サイズ変更時) とヒッチなしのスクロール (メモリ内に行の高さのリストがあり、再描画が必要なときに更新されます) .

この複数行の機能を VirtualStringTree に移すことは、stringgrid の代替手段ほどパフォーマンスが良くありません。数多くの実装を試みましたが、まだ成功していません。これは、VirtualStringTree インストール パッケージのデモ アプリケーションで簡単に再現できます。

  1. 「MultilineDemo」フォームで、VirtualStringTree の「rootNodeCount」を 10.000 に設定します。
  2. デモを実行するときは、[ノードの高さをノード テキストに合わせて自動的に調整する] を選択します。

最初の再描画/再描画には、大量の CPU を使用する時間がかかります。サイズを変更するたびに、トップ/ボトムにジャンプすると同じ現象が発生するか、「スタックオーバーフロー」例外が発生することさえあります (ただし、それは別の問題です...)。「OnMeasureItem」メソッドは、私が見ているように(「MouseMove」イベントでも)呼び出されすぎています。

誰かがこの問題を抱えていて、解決策を見つけることができましたか?

0 投票する
1 に答える
421 参照

delphi - TVirtualStringTree のスクロール バーの上の領域を埋めるにはどうすればよいですか?

下の図で強調表示した小さな白い四角形を (黒で) 塗りつぶす必要があります。

余分な列を追加しようとしました。PaintInfo.PaintRectangle を拡張してみました。考えられる金額列のすべての設定を試しました。私はアイデアがありません。

誰でもそれを行う方法について何か考えがありますか?

カスタムヘッダー描画を行うコードは次のとおりです。with(私の元のコードではなく、ステートメントを許してください....)

ここに画像の説明を入力

0 投票する
1 に答える
223 参照

c++ - TVirtualStringGrid CopyToClipboard の問題 Embarcadero Seattle C++

以前は、 を呼び出した後VirtualStringGrid -> CopyToClipBoard、メモ帳にタブ付きテキストとしてグリッドを貼り付けたり、Excel または Outlook に貼り付けるときに完全にフォーマットされたグリッド (ヘッダーと色と境界線) として貼り付けることができました。

ただし、CopyToClipboardVirtualTreeView V6.2 を使用して Embarcadero XE8 から RAD Seattle に移行して以来、問題が発生しています。ターゲット アプリケーションが何らかのテキスト エディタである場合にのみ、テキストとして貼り付けることができます。RTF または html を受け入れる「豊富な」アプリケーションに貼り付けると、エラーが発生します。

メソッドを呼び出そうとしましたContentToXXX(以下のコードを参照) テキストは正常にエクスポートされます。Html はエクスポートされますが、結果のData2Export文字列には HTML ページのコード全体が含まれており、たとえば Outlook に貼り付けることができません。を呼び出すとContentToRTF、クラッシュが発生します。

この種の問題をグーグルで検索しましたが、関連するものは何も見つかりませんでした。

この問題を解決または回避する方法はありますか?

コードに何か問題がありますか?

PD: 開発プラットフォームは Win8 と Win10 で、VirtualStringTree ClipboardFormats はすべて true に設定されています。

0 投票する
1 に答える
195 参照

delphi - Delphi: コンポーネント ビルド - TVirtualStringTree の関連付け

TVirtualStringTree新しいコンポーネントを作成しています。オブジェクトを関連付けるプロパティを 1 つ追加したいと考えています。

以下の図では、プロパティが関連付けられたTLabelオブジェクトの例を示しています。FocusControlTEdit

ここに画像の説明を入力

私がこれを好きなら:

次のようなエラーが表示されます。

このタイプの関連付けを作成する方法についてアドバイスをお願いします。