問題タブ [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.
delphi - VirtualStringTree 列は、1 つの列が非表示のときにサイズを調整する必要があります
使用可能なスペースを均等に使用する 3 つの列を持つ VST があります。
- 私はHeader.Options
hoAutoSpring
に設定し、 - すべての列にColumn[x].Optionが
coAutoSpring
設定されています。
ここで、最後の列を非表示にして、他の列が空き領域を均等に使用できるようにしたいと考えています ( のコントロールに少し似ていますalClient
)。
列を非表示に設定しただけの場合 (以下を参照)、列が占めていたスペースは単に使用されません。
Header.Options.hoAutoResizeをTrueに設定し、 Header.AutoSizeIndexをに設定する1
と、2 番目の列が新しいスペースをすべて使用します。
利用可能なスペースを埋めて均等にサイズ変更するように列に指示する方法はありますか?
スクリーンショット:
delphi - poUnbuffered 使用時の TVirtualStringTree での PaintTree の動作が正しくない
poUnbuffered オプションを使用すると、TVirtualStringTree の PaintTree ロジックにバグがあるようです。ツリーの最初のノードのみが出力に表示されます。Minimal VST の例を使用してテストしましたが、動作は同じです。poUnbuffered をオプションとして使用すると、最初のノードのみが表示され、オプションを削除すると、ツリーが正しく描画されます。
コードをステップ実行すると、すべてのオブジェクトがキャンバスにペイントされているため、クリッピングの問題のように見えますが、問題が何であるかを特定するのに十分なほど VST を使用していません。キャンバスの原点とクリッピングで多くのことを行います。
実際の問題を確認するには、VST を含む任意のフォームに次のコードを配置し、必要に応じて名前を変更して罪のない人を保護し、クリックして離れてください。
誰もこれに遭遇したことがありますか?
詳細:
poUnbuffered を使用する場合と使用しない場合のペイント コードの違いはほとんどありません。私は列を使用していないため、主な違いは次のとおりです。
と
poUnbuffered を使用しない場合に、ビットマップがキャンバスにコピーされる BitBlt が後でいくつかあります。
delphi - VirtualStringTree のノードでアニメーション GIF を再生するには?
TVirtualStringTree でアニメーション GIF ノード イメージを再生できますか?
それが私の質問です。どうやってするか?
delphi - TVirtualStringTree ツリーにノード独自の画像/アイコンを描画します
グラフィックスをノード イメージとして描画する必要があります。OnGetImageIndex イベントで ImageList から画像を描画するように、TIcon、TImage、TBitmap などの単一のソースから画像を描画します。
私の状況では、すべてのノードに独自のアイコンと UserData レコード内の場所があります。
これらのアイコンをノードに描画するにはどうすればよいですか?
ここでこのコードを見つけて、自分の状況に合わせて調整しようとしました:
ボタンをクリックすると、次のことがわかります。
なぜそれが起こるのですか?アイコンサイズ 100% - 16 x 16 ピクセル。
テキストの描画に関する問題はどこで解決できますか?
私は何を間違っていますか?
delphi - VirtualStringTree ロック列 0
VirtualStringTree
Excelのように水平スクロール中に列0(ノード名付き)をロックすることはできますか?