問題タブ [tlistview]

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 に答える
1210 参照

delphi - Delphi ベルリン: FMX-TListView、Windows と Android の切り替え

Windows をマスター ビューとして使用して、Delphi 10.1 ベルリンでアプリを作成しました。フォームに TListView をドロップし、新しいデザイン モードの切り替えを使用してカスタマイズしました。TImageObjectAppearance といくつかの TTextObjectAppearance 項目を追加しました。TImageObjectAppearance の画像を設定するコードを追加し、テキスト項目にさまざまなフォント サイズとスタイルを設定しました。また、値に基づいて TImageObjectAppearance.Bitmap に割り当てるために使用するフォームに 3 つの TImage コンポーネントがあります。

Win32 用にコンパイルして実行すると、すべてが見栄えがします。ビットマップ イメージは、TListView の各行の値に基づいて表示されます。スタイルを Android に、ビューを Android 10 インチ タブレットに切り替えると、IDE は次のエラーをスローします。

「TAppearanceObjectItem を TAppearanceObjectItem に割り当てることはできません。」

ビューにはまだ Android 10" Tablet と表示されていますが、フォームの実際のビューはまだ Windows フォームです。最初の質問は、エラーの原因は一体何なのかということです。Delphi は、これらすべての異なるターゲットにコンパイルできるはずだと思っていました。 /devices が同じコードを使用している.そんなことは絶対にありません.しかし、待ってください.他にもあります...

そこで、Style: Windows と View: Master に戻しました。フォームの TImageObjectAppearance 項目をクリックして Delete キーを押したところ、次のエラーが発生しました。

「デザイナーから永続的な参照を削除できません。」

ただし、構造ウィンドウで項目をクリックして Delete キーを押すと、問題なく削除されます。バグ?私はそう言うでしょう。とにかく、もっとあります。Structure ウィンドウから TImageObjectAppearance 項目を削除してから、Style: Android および View: Android 10" Tablet に切り替えたところ、同じエラーが発生しました。しかし、フォームに TImageObjectAppearance がありません!そのため、Windows | マスター ビューの TListView カスタム アイテムを完全に削除し、Android 10 インチ タブレット ビューを使用して新たに開始します。TImageObjectAppearnce を含むすべてのカスタム外観オブジェクトを追加しますが、10 インチの Android タブレット用にコンパイルして Galaxy Tab S2 で実行すると、1) 画像が表示されません。画像を設定するために私が書いたコードを次に示します。 TImageObjectAppearance 項目に使用するフォーム上の 3 つの TImage コンポーネントです。

私の 2 番目 (3 番目または 4 番目) の質問は、Android 用にコンパイルするときに上記のコードが機能しない理由と、コードで TImageObjectAppearance に画像を割り当てる適切な方法は何ですか?

ありがとう -バリー

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

delphi - vsIcon ViewStyle で TListView のアイコン/アイテム サイズを変更するにはどうすればよいですか?

サムネイルを表示できるコントロールが必要です。これは、このセットで目的に十分であると考えTListViewたのですが、残念ながら、サイズが 256x256 までの画像しかサポートしていないことに気付きました。これにはサードパーティのソリューションがあることは知っていますが、標準で作業したいと考えていました。ViewStylevsIconTImageListTListView

表示する必要がある画像は約 348x480 であるため、画像リストに追加してリストビューに割り当てることはできません。

それで、私は自分の画像を a に保存してTListから listview を ownerdraw できるのではないかと考えました。CustomDrawItemメソッドを使用してを操作するItem.DisplayRectだけで、描画先を正確に知ることができます。次のようなものです(簡単な例):

問題は、各リストビュー項目のサイズを変更する方法ですか? 通常、イメージリストを設定するとアイテムのサイズが変更されますが、サイズの制限によりイメージリストを使用できません。

私はListView_SetIconSpacing(ListView1.Handle, 348, 480);何もしていないように見えましたが、割り当てたローカル四角形を膨らませようとしましたが、運がありませんでした。

リストビューのアイコン/アイテムのサイズを手動で 256px より大きく設定することは可能ですか?