- ベストアンサー
MSFrexGridの列幅について
はじめましてVB始めてもうすぐ1ヶ月の初心者です。MSFrexGridについてとても基本的なことで恐縮ですが、どうしてもうまくいかないので次の2点について教えて下さい。 (Q1).col毎に列を固定したりしなかったりするには、どうすればよいでしょうか。色々試したのですが、列やセル指定後に設定しても最後に指定した設定がGrid全体に適用されてしまいます。 (Q2)幅を0にした時、その列にデータが入ると文字の破片というか、その左隣りにヒゲのようなものが表示されてしまいます。エンドユーザに見せたくないのですが何か良い回避策はないでしょうか。構造体に持ってその列を最終的に削除するしかないのでしょうか。 環境はVB6(SP4)で、Win2000(SP2)です。ひょっとして(SP5)で解決?? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
(Q1) MSFlexGridはおそらく出来ません 製品版(VsFlexGrid)ではBeforeUserResize イベントで出来ます
その他の回答 (1)
- maruru01
- ベストアンサー率51% (1179/2272)
ちょっとお聞きしたいんですが。 >(Q1).col毎に列を固定したりしなかったりするには、どうすればよいでしょうか。 これは、col毎に固定列数を変えるということですか?補足をお願いします。 Q2については、VB6(SP5)ではそのようなことはないですよ。(ちなみにWin2000(SP2)) なお、固定列のすぐ隣を隠すと、固定列と2列目の間の線が少しぼやけてしまいますが。 では。
お礼
(Q2)は原因が分りました。表示列と同様にColAlignmentで文字を中央に表示指定していたためでした。 指定を外してデフォルトのままにしたら”ヒゲ”は消えました。 お騒がせしました。 これからも、また宜しくお願いします。
補足
maruru01さん、はじめまして。 (Q1)はご指摘の通り1列目はflexResizeNone、2列目はflexResizeColumns、 3列目はflexResizeNone…というようなことができるか知りたいです。 (Q2)は(SP5)へのUPを検討してみます。とても参考になりました。 よろしくお願いします。
お礼
カラム指定した後に設定すればできる気がしていたので悩んでましたが、すっきりしました。 ちょっと残念ですが、出来ないから製品になっているのですね。 todo36さん、貴重なご回答ありがとうございました。 また宜しくお願いします。