問題タブ [tlistbox]
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: 上矢印キーボード ショートカットを Action/MenuItem に割り当て、リスト コントロール (ListBox/VTV) をナビゲートするためにそれを実際に維持する方法は?
助けてください: 上矢印キーボード ショートカットをアクションまたはメニュー項目に割り当て、同時にリスト コントロール (例: ListBox/Virtual Treeview/other) をナビゲートするためにそれを実際に維持する方法は?
ありがとう!
delphi - TListBoxの垂直スクロール制限を取り除くには?
in virtual modeを使用してログ ビューアーをTListBox
実装しました。
それは(私が書いたすべてのコードに対して)正常に動作し、期待どおりにコンテンツを表示します(水平スクロールバーを簡単に追加しました)が、垂直スクロールバーのある種の制限に達したと思います.
つまり、垂直バーを上から下にスクロールすると、コンテンツはリストの最後までスクロールされず、ある程度までしかスクロールされません。
この制限を取り除く可能性を知っていますか? で試しましSetScrollInfo
たが、制限がスクロールバーではなく、TListBox
それ自体にあるように聞こえるため、機能しませんでした。
専用を作成するソリューションを知っています。TCustomControl
この場合、 はSetScrollInfo
期待どおりに機能します。しかし、まだ使用するソリューション/トリックについて知っている人はいますTListBox
か?
編集:明確にするために-(サードパーティの)コンポーネントソリューションは求めていませんが、TListBox
この制限をオーバーライドするために標準に送信する低レベルのGDIメッセージがあるかどうかを知りたい. TCustomControl
何もない場合は、専用のソリューションに行きます。
TSCROLLINFO を使用したコードは次のとおりです。
問題を正確に言うと、もちろん、追加と描画の両方が機能します(私のツールは期待どおりに機能します)が、機能しないのは垂直スクロールバーのドラッグです。質問のタイトルの名前を変更し、混乱を招く非推奨の MSDN 記事を削除しました。
delphi - TListbox - 画像とテキストのレイアウトを操作しますか?
TListBox コントロールをいじったり、画像を描画したり、フォント スタイルを変更したりしています。もう少しレベルを上げて、インデントとマルチ レベルのインデントを使って項目を操作してみます。
より良いアイデアについては、この画像を見てください。
アイデアは、開始項目と終了項目の間に配置されたリスト内の項目をそれに応じてインデントする必要があるということです。
それで、アイデアを与えるために、ペイントでスクリーンショットを編集したので、次のようになります。
これにアプローチする方法は何でしょうか?私の考えは、リストボックスを反復処理し、開始項目と終了項目の量を2つの個別の変数で返し、その後、他の項目がどこにあるか、およびその間に収まるかどうかを何らかの形で判断することでした-しかし、私のロジックは決して良いものではありません:(
使いやすくするために、画像とスタイルをどのように描画しているかを示すコードを以下に示します。
アイテムの操作を決定する方法についてのヒントをいただければ幸いです。ビットマップとテキストを配置する場所を変更できることはわかっていますが、アイテムがグループ間にあるかどうか、および正しいインデント レベルが設定されているかどうかを識別しています。
これが理にかなっていることを願っています。
ありがとう :)
PS、申し訳ありませんが、小さな投稿を書くことはありません!
動作中のデモで更新
Sertacのおかげで完璧に機能しているSertacの回答を受け入れました。
見ているかもしれない他の人を助けるために-そして私はOOPを学んでいるので、コードを見せてそれが良いかどうかを確認したい:)
2 つのユニットを作成しました。Lib.pas にはリスト アイテムのクラスが含まれ、Unit1.pas は Form1 ユニットです (何が起こっているかを明確にするためにユニット 1 を短くしました)。
Lib.pas
Unit1.pas
つまり、Items.Objects[] プロパティに基づいて画像インデックスを割り当てますが、これは完全に機能します:)
delphi - Delphi 6 TImageListビットマップにその透明ピクセルを特定の色として描画させることはできますか?
TListBoxの行にいくつかのテキストとともにアイコンを所有者が描画するDelphi6アプリケーションがあります。のTListBox
スタイルはに設定されlbOwnerDrawVariable
ます。私が抱えている問題は、アイテムが選択されたときです。選択した行の背景色を変更するためにリストボックスで使用されるハイライト色は、アイコンに透明なピクセルがあり(目に見える証拠に基づく私の仮定)、それらのピクセルが背景色に変更されて台無しになるため、アイコンがひどく見えます。画像。この問題を解決できるように、透明なピクセルを特定の色で強制的に描画する簡単な方法はありますか?このメソッドを使用して、キャンバスTImageList.Draw()
にアイコンを描画しています。TListBox
delphi - Delphi:アンチエイリアスされた三角形を描く
ListBoxDrawItem でアンチエイリアス処理された三角形を描画するにはどうすればよいですか?
ギザギザで描きます。
ありがとう!!!
delphi - Delphiで透過的なTListBoxを作成する
そして、私はDrawItemを持っています:
問題は、リストボックスが正しく機能しない、アイテムが消える、点滅する...
2つのプロシージャのコードをマージして、1つだけを残すことはできません(オーバーライドされたものまたは私のもの):
また
すべてを正常に機能させるにはどうすればよいですか?リストボックスは透明で、アイテムは適切に描画されますか?
delphi - FireMonkeyのリストボックスへの文字列の追加のアニメーション
次のコードは、リストボックスの最後に新しい文字列を追加することをうまくアニメーション化します
アイテムは展開およびフェードインします。ただし、リストボックス内の任意の場所(実際には現在のItemIndex)に文字列を追加できるようにしたいです。誰かがこれを行う方法を知っていますか?
delphi - ListBox の文字列を List に変換する
TListBox コンポーネントには、一連の行 (文字列) が含まれています。このセットをリスト TList として取得するにはどうすればよいですか? 以下のコード例では、目的の結果が得られません。(コードはコンパイルされません)
ループを使用せずにこれを行うことは可能ですか? ありがとう!
ios - TListBoxItem の ADetail アクセサリで現在の TListBoxItem を強調表示する方法
私のプログラムでは、TListBoxItems を動的に生成し、ListBoxItems に Ttext コントロールを使用または挿入してカスタマイズしました。私の問題は、TText コントロールがボックス項目の上にあるため、ユーザーがボックス項目を選択して強調表示する機能を失ったことです。
ADetail アクセサリを生成し、それをアイテムを強調表示するコントロールにする方が簡単である場合、IDK はありますか? または、 TText.OnClick イベントを設定してボックス項目を強調表示する方が簡単で有益でしょうか。いずれにせよ、私は混乱して迷っています。
Ttexts の onClick イベントを親コントロール TListBoxItem に設定しようとしましたが、何もしません。
また、新しいプロシージャを作成して、オブジェクト Sender.Parent を ... に設定しようとしました。
iOS用のアプリを作成するDelphi Xe4を使用しています。