問題タブ [custom-component]
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 - Delphiパッケージでは「暗黙的にインポート」は常に悪いことですか?
パッケージを一連のTFrame 子孫コンポーネント用に再配置しようとしていますが、主に前者が true としてパレットに登録されているため、ユーティリティ TFrame 子孫の一部を、それらを使用するダイアログ フォームから分離する必要があるようです。コンポーネントを使用するダイアログ フォームに関して、IDE を混乱させることがあるようです。次に、ダイアログ フォームは、3 番目のパッケージの一部である非ビジュアル コンポーネントによって呼び出されます。これにより、これまでのところ、コンパイラの依存関係に関連する苦情/混乱のほとんどが解消されるようです。(ただし、私はまだ外出していません)。
(フレームを呼び出す)ダイアログ フォームを使用してパッケージをコンパイルすると、「ユニット 'MyFrames' が暗黙的にパッケージ 'MyDialogForms' にインポートされました」という警告が表示されます。
コンパイラの警告として表示されることを考えると、私はずっと前に、ユニットを「暗黙的にインポートする」ことは一般的に良いことではないという印象を受けました。そうでない特定の例はありますか? つまり、ユニットを暗黙的にインポートしても問題ない場合、および/または適切なプラクティスはどこですか?...もしそうなら、それらの特定のケースは何ですか?
delphi - カスタム フォーム デザイナーの作成
Delphi でカスタムの「データ モジュール」を作成したいと考えています。これは、TDataModule のような (おそらく継承された) クラスで、カスタム グリッド ベースのデザイン インターフェイス (1 行に 1 つのコンポーネント、列としていくつかのプロパティ) を持ちます。これは可能ですか?どこから始めればよいですか?
現在、Delphi 2007 を使用しています。
delphi - Delphi 2009: コンポーネント名の onclick イベントを渡してからプロパティを設定する
TSpeedButton 型のカスタム コンポーネントがあり、次の 2 つの追加プロパティが定義されています。
デザイン時に CommentHeading を設定します。
速度ボタンを押すと、メモが表示され、その下に内容を保存するためのボタンが表示されます。これを処理する手順:
ViewComments プロシージャ自体:
メモの内容は、カスタム SpeedButton の CommentText プロパティに割り当てる必要があります。
最初に考えていたのは、カスタム SpeedButton が押されたときにコンポーネント名を変数に渡し、メモの保存ボタンが押されたときにその名前を取得し、それを使用してメモ テキストを speedbuttons CommentText プロパティに割り当てることでした。しかし、これを行うには、考えられる各スピードボタン名をチェックし、そのプロパティにメモ値を割り当てるある種の case..of ステートメントを使用する必要があることに気付きました。
最初にメモを開いたスピードボタンにメモテキストを割り当てる簡単な方法はありますか?
delphi - Delphi 2009 - カスタム Delphi コンポーネントでデフォルトのプロパティ値を設定する
これは非常に単純なはずですが、私が望む正確な答えが見つかりません。TSpeedButton に基づくカスタム Delphi コントロールがあります。SpeedButton の Caption プロパティを常に 'Comments' にしたいが、実行時に設定したくない コンポーネント自体に設定して、フォームに配置したときに既にこれが取り込まれているようにしたい文章。ボタンの高さと幅も設定したいのですが、これを行う方法はキャプションの設定と同じになると思います。
完全を期すために、コンポーネント コードを次に示します。
delphi - 大規模なプロジェクトの一部であるビジュアル コンポーネント パッケージをいつインストールするか、いつビルドするか
環境:
私は多くのカスタムフレームベースのコンポーネントを使用するアプリケーションに取り組んできました (私が学んできたように 、ここの人々は非常に 役に立ち ました!)。
アプリが非常に頻繁に使用するビジュアル コンポーネントを変更していて、それらのコンポーネントがかなり多く、相互に関連しているため (かなりの継承が行われているなど)、変更/ビルド プロセスをできるだけ効率化したいと考えています。
質問:
ビジュアル コンポーネント パッケージを実際にインストールする必要があるのはいつですか?それと、それらのコンポーネントを使用および参照する EXE プロジェクトをビルドするだけ (または「コンパイル」するだけ?) の場合はどちらですか? オブジェクト インスペクタに影響するメンバーを変更する場合、パッケージを本当に「再インストール」するだけでよいのでしょうか? ここでの概念的なガイダンスは大歓迎です。
よろしくお願いします。: )
delphi - TFrame の子孫の配列(またはコレクション)である TForm プロパティ
以前とは少し異なる角度から、このテーマを再び探っています。
他のいくつかのコンポーネントでダイアログとして使用される TForm の子孫があり、カウントされた TFrame の子孫の配列をプロパティとして追加したいと考えています。
これには、どのマルチアイテム プロパティ アプローチを使用すればよいですか? (配列、TList、TObjectList、TCollection、TownedCollection など)。
(概念的に「理由」も知りたいです)
delphi - 定義済みのクラスで TCollection を使用する
(注:これは私の最後の質問に多少関連しています)。
Delphi で TCollection を使用するのは初めてで、1 対多のクラス/プロパティとアイテムの関係を処理するさまざまな方法に頭を悩ませています。TCollection と TCollectionItem を調べてみると、いくつかの質問に出くわしました。
1) TForm プロパティに TCollection または TOWNedCollection を使用することは可能ですか? (まだ試していませんが、組み込みの Object Inspector 機能が問題を引き起こすかどうかを事前に考えています)。
2) TCollectionItem から直接派生できない、すでに定義されている別の場所のクラスを TCollection で使用したい場合 (つまり、「TCollectionItem」の「as」のようなもの)、それは実現できますか? もしそうなら、それはインターフェースを介して達成するものですか?...または最良のアプローチは何でしょうか?
android - カスタムImageViewの作成
画面にテキストを描画するだけのImageViewを拡張してカスタム画像ビューを作成しましたが、エミュレーター画面には何も表示されませんが、ログメッセージとprintlnはログコンソールに印刷されます。私は何かをしていませんか?
これが私の活動です
これは私のCustomImageViewです
onTouchEvent()のログメッセージも出力されますが、何も描画されません。
これは私のmain.xmlで、レイアウトがあります
java - Android - カスタム (複合) コンポーネントの作成
私が現在開発している Android アプリには、かなり大きくなったメイン アクティビティがあります。これは主に、TabWidget
3 つのタブを持つ が含まれているためです。各タブにはかなりの数のコンポーネントがあります。アクティビティは、これらすべてのコンポーネントを一度に制御する必要があります。したがって、このアクティビティには約 20 のフィールド (ほぼすべてのコンポーネントのフィールド) があることが想像できると思います。また、多くのロジック (クリック リスナー、リストを埋めるロジックなど) も含まれています。
コンポーネント ベースのフレームワークで通常行うことは、すべてをカスタム コンポーネントに分割することです。その場合、各カスタム コンポーネントには明確な責任があります。独自のコンポーネントのセットと、そのコンポーネントに関連する他のすべてのロジックが含まれます。
これをどのように行うことができるかを理解しようとしたところ、Android のドキュメントで「複合コントロール」と呼ばれるものを見つけました。( http://developer.android.com/guide/topics/ui/custom-components.html#compoundを参照し、「複合コントロール」セクションまでスクロールします)構造を表示します。
ドキュメントには次のように書かれています。
アクティビティの場合と同様に、宣言型 (XML ベース) のアプローチを使用して含まれるコンポーネントを作成するか、コードからプログラムでネストすることができます。
それは朗報です!XML ベースのアプローチはまさに私が求めているものです! しかし、「アクティビティのように」ということを除いて、それを行う方法はわかりません...しかし、アクティビティで行うことは、setContentView(...)
XMLからビューを膨らませるための呼び出しです。たとえば、サブクラスの場合、そのメソッドは使用できませんLinearLayout
。
そこで、次のように XML を手動で膨らませようとしました。
LinearLayout
ロードしている XMLがルート要素として宣言されているという事実を除いて、これは機能します。これにより、膨張したものは、それ自体がすでに!!LinearLayout
である子になります。これで、間に冗長な LinearLayoutと実際に必要なビューができました。MyCompoundComponent
LinearLayout
MyCompoundComponent
LinearLayout
冗長なインスタンス化を回避して、これにアプローチするより良い方法を誰かが教えてくれますか?
jsp - Facelet カスタム コンポーネント - カスタム コンポーネントに ui:insert コンテンツをレンダリングしないようにする
これは私のカスタムコンポーネント定義です:
これが私がそれを使用する方法です:
に問題があり<ui:insert name="field" />
ます。それは常にレンダリングされます。disabled=true の場合<input type="text" disabled="disabled" value="" name="itSIN" id="itSIN"/>
、ビューの上部に要素だけが表示されます。注: カスタム コンポーネント内の h:inputText にバリデータを渡す方法がわからないため、ui:insert を使用して jsf コンポーネントを渡します。