問題タブ [tframe]

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 投票する
4 に答える
1970 参照

delphi - 動的に割り当てられた TFrame のコンポーネントのオブジェクトをどこで解放しますか?

を含むフォームがありTFrameます。には、動的に入力される がTFrame含まれています。ComboBoxComboBoxエントリには、関連付けられたオブジェクトがあります。のオーバーライドされたデストラクタTFrameが呼び出されるまでに、関連付けられたオブジェクトを解放することなく、 内の ItemComboBoxがすでにクリアされています。これは、デザイナー ビューでフォームに をドロップするか、所有者としてComboBoxnil または を使用してコードで動的に作成した場合に発生します。TFrame現在、包含のOnDestroyイベントを使用して、包含TFormのクリーンアップ手順を呼び出していTFrameます。

TFrameのコンテナによる明示的なプロシージャ呼び出しを必要としないより良い方法はありますか? ComboBox動的に追加されたオブジェクトをどこで解放するのが理想的ですか?

0 投票する
2 に答える
1194 参照

delphi - TFrame を使用して、TForm と同じように TCanvas プロパティに適切にアクセスするにはどうすればよいですか?

通常のフォームで行うのと同じように、実行時にフレーム Canvas に描画する必要がありますが、何らかの理由で、TCustomFrame と TCustomForm の両方が Canvas を処理する同じ親クラスに由来する場合でも、Canvas プロパティをフレームに追加しないことにしました。 .

PaintWindow プロシージャをオーバーライドして何かを描画できる部分まで動作させましたが、実行時に Canvas プロパティを使用できないようです。コードの大きな塊が欠けているかのようです。

これが私が今までやってきたことです:

ハンドルを適切に割り当てていないか、ペイントイベントが欠落していると思いますか?

0 投票する
2 に答える
3182 参照

delphi - 動的に作成されたフレームを解放する方法は?

Delphi 2010 では... フォームがあります。フォームの左側に Treeview があります。マルチレベルの階層を示しています。タイプ A、B、C、D、E の 5 種類のデータがあるとします。フォームの右側には、TFrame を作成するパネルがあります。Treeview でタイプ「A」のデータ要素をクリックすると、フォームの右側に TFrame が作成され、tFrame「A」が表示されます。基本的に、TreeView のさまざまな階層の詳細を表示しています。5 種類のデータはそれぞれ、異なる種類の TFrame を使用します。TFrame を動的に作成することはできますが、TFrame を削除/解放する場所と方法を理解するのが困難ですか?

前の TFrame の TYPE を示す変数を作成する必要がありますか? TFrame を削除する適切な方法は何ですか? TFrame.Free と一緒ですか?フレーム A の作成、フレーム A のフリー、フレーム B の作成、フレーム B のフリー、フレーム A の作成 (再び) などが必要になる場合があることを覚えておいてください。

私は...の線に沿って何かを試しました...

これは機能しているように見えますが、奇妙な動作を引き起こします (ボタンが消えてしまいます)。また、5 種類の TFrame をすべてグローバル変数として定義する必要があることも意味します。

ありとあらゆる考えに感謝します。

ありがとう、

GS

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

delphi - firemonkey は実行時にフレームを破壊します

柔軟性のために、さまざまなフレーム (ユーザーが一緒に構築できる可視の「モジュール」 - ダッシュボードなど) が作成され、firemonkey フォームで破棄されます (それらのいくつかは 2 回以上)

リソースのためにコントロールまたはフレームを破棄することは、vcl では簡単でした。

しかし、firemonkeyでこれを(強制的に)行う方法は?(「Free」は「object.release」のみになり、他の参照があるように見えるため、コントロールを破棄しませんでした-しかし、1つのフレームを保持する変数は「作成」と「無料」でのみ使用されます)

0 投票する
0 に答える
1348 参照

delphi - カスタム TFrame の子孫をコンポーネントとして作成する

私は、TFrame を拡張して独自の公開プロパティを持つことについて、stackoverflow に関する多くの記事を読みました。

私は基本的にジョン・トーマスのアプローチに従いました

ここでコードを繰り返します:

新しいフレーム コンポーネントがコンポーネント パレットに表示されます。新しいフレームをフォームに追加して動作します。

ただし、ファイル - >新規 - >その他 - > vclフレームによって作成されたように、新しいフレームをスタンドアロンユニットとして使用する必要があります

私はすべてのフレームを別々のユニットで作成し、必要に応じてフォームに挿入しています。

私の新しいMyFrameがそのように機能するために何をすべきですか?

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

delphi - TcxPageControl が TFrame でホストされている場合、TcxTabSheet に追加されたコンポーネントが実行時に表示されない

TFrameを含む再利用可能なものを構築していますTcxPageControl。アイデアは、フレームがフォームにドロップされ、そのフォームに固有のページを追加できるということです。

これは正常に機能し、デザイナーを使用してページを正常に追加でき、実行時にそれらのタブ ページが表示されます。ただし、問題は、TcxTabSheetドントにドロップされるコンポーネントです。

フレーム自体 (つまり、フォームにドロップされたものではなく、ベース フレーム) にページを追加し、その上にコンポーネントをドロップすると、それらが表示されます。ただし、コンポーネントをフォームから同じページにドロップすると、ドロップしません。

ここには明らかに何かが欠けていますが、ページコントロールはどのフォームでも( から表示されているかどうかに関係なくTFrame)同じように機能すると思っていましたが、明らかに気に入らないものがあるようです

これはバグですか、それとも私が正しくやっていないだけですか?

注-プロパティを表示したいので、「パレットに追加」オプションを使用してフレームをコンポーネントとして追加していTPageControlます(重要な場合)