リストボックスの列幅拡大「カラム自動リサイズ」(v17)リストボックスの列幅拡大これはうれしい。ウインドウを拡大したときに、拡大対象の列を指定することができる。v16からあったらしいが、確かめたのはv17。面倒な手順もあるのでここに記す。4Dには画面をリサイズする機能がある。フォームを作成すると、デフォルトでフォームプロパティの「固定幅」と固定高さ」はノーチェック。これでフォームを横方向と縦方向に拡大/縮小ができるようになっている。4Dv15以前から、リストボックスを配置して、プロパティで「リサイズオプション」で「横方向サイズ変更」をチェックすると、フォームの拡大に伴ってリストボックスが拡大する。「最も右のカラムのみがリサイズされます。」とマニュアルにもあるように、例えば次のフォーム。フォームを拡大させると一番右の列が拡大されるけど、消費税の列が拡大してもうれしくない。摘要の列が広がってほしい。v17では(v16からあったようだが確かめていない)「カラム自動リサイズ」をチェックすると、列ごとに幅を拡大するかどうかを指定できる。次に、消費税の列の「座標とサイズ」プロパティで「最小幅」と「最大幅」を「幅」と同じ68にする。これでこの列は固定幅を指定したことになるが、すべての列が固定幅だとやはり一番右の列が拡大する。「幅」と同じ144、「最大幅」はデフォルトの32000にする。これで「拡大されたあと、元に戻るときに最小で144以下になって欲しくない」という意味と、「拡大の最大値は無限」という意味になる。拡大のときだけじゃなくて、縮小のときにどの列が狭くなって欲しいかも設定しておくのだ。縮小のときは各列がまず最小幅になろうとするので、最小幅に144を与えると、この列の縮小は144で止まり、さらにリサイズすると別の列が狭くなっていって、これ以上狭くなる列がないとリサイズができなくなる。これで「摘要」列だけを拡大させることができた。【注意】1)「拡大させたくない列」すべてについて、上記の消費税のような設定をしなくてはならない。2)「拡大させたい列」については元に戻るときの最小幅も設定しなくてはならない。3)v16以前から変換されたプロジェクトではデフォルトで「カラム自動リサイズ」はオフになっている。