Columns
0に設定する必要があります。
すべての正の値について、VCLLB_SETCOLUMNWIDTH
は基になるネイティブリストボックスコントロールにメッセージを送信します。幅パラメーターは、リストボックスクライアントの幅を列数で割った値に設定されます。収まらないアイテムは、同じ列幅で新しい列を開始するため、水平スクロールバーが表示されます。
が0の場合Columns
、リストボックスのクライアント幅全体にまたがる単一の列があり、収まらない項目は垂直スクロールバーを表示し、水平スクロールバーを非表示にします。
編集:
Columns
プロパティに負の値が使用された場合に何が起こるかについては、真の関心があるようです。
このメソッドTCustomListBox.CreateParams()
は、0とは異なるプロパティにLBS_MULTICOLUMN
応じてリストボックスのスタイルを設定します。負の値の場合、スタイルフラグが設定されますが、VCLはメッセージを送信しないため、ネイティブコントロールはデフォルトの列幅を使用します。次のように文書化されています。Columns
LB_SETCOLUMNWIDTH
リストボックスで使用されるフォントの平均文字幅の15倍。
(「LBS_MULTICOLUMNスタイル指定」を検索して、関連するテキストのパッセージを見つけます。)