初めて利用させていただきます。
初心者プログラマです。よろしくお願いします。
MSFlexGridで質問なんですが、
現在、固定行の列見出しを
MSFlexGrid1.FormatString = "行番号 |コード |商品名 |数量 "
MSFlexGrid1.Rows = 1
で定義していますが、
数量の列の数値をカンマ表示させる為にto_char(suuryou,'9,999')を
使って検索をかけています。
そのせいでグリッドに表示させると、本来、数値型は右寄せになるはずが、
文字型になってしまっているので、左寄せになってしまいます。
それを右寄せにするために、
MSFlexGrid1.ColAlignment(3) = flexAlignRightCenter
を使用するんですが、
これでは列見出しまで右寄せしてしまいます。
固定行の列見出しは左寄せまたは中央寄せで
固定行以外の数値のところを右寄せする方法はありませんか?
ご存知の方いましたらアドバイスよろしくお願い致します。
CellAlignmentプロパティを使いましょう。
レスありがとうございます。
いろいろと考えて試してみましたけれど、
CellAlignmentプロパティでセルの座標などの指定はできるんでしょうか?
うまくいきません。
CellAlignmentプロパティをどのように
使えばいいんでしょうか?
どなたかよろしくお願いします。
Row,Colプロパティでセル位置設定して、
CellAlignmentプロパティで設定すれば出来ますよ。
もしくは、FixedAlignmentプロパティを使用するとか...
Private Sub Form_Load()
Dim i As Long
With MSFlexGrid1
For i = 1 To .Cols - 1
.TextMatrix(0, i) = "TITLE" & Format$(i)
.TextMatrix(1, i) = Format$(i * 1000, "Currency")
.FixedAlignment(i) = flexAlignCenterCenter
.ColAlignment(i) = flexAlignRightCenter
Next
End With
End Sub
レスありがとうございます。
すべてCellAlignmentプロパティで設定することで
対応することができました。
ありがとうございました。
セルの位置は解決したと思っていたんですけど、
新たな問題が出てきてしまいました。
元々、検索をかけてグリッドに表示し、
検索後、1行目の固定列を除いたすべてのセルを文字の反転させていたのですが、
CellAlignmentプロパティを使って1つずつ配置を指定に変更後、
文字の反転が最終行の最終列の1つのセルだけになってしまいます。
これをCellAlignmentプロパティを使った状態で、
1行全体(固定列を除く)を反転させる方法を
ご存知の方、アドバイスよろしくお願いします。
セルの配置を行うイ妨什澆離札詒楼マ(Col,Row,ColSel,RowSel)を保持しておき、
全てのセルの配置が終了した後に、
セル範囲(Col,Row,ColSel,RowSel)を元に戻せば出来るんでないでしょうか。
#カレントセルの変更で不都合が出るんじゃないかと思って
#FixedAlignmentプロパティの例も載せていたんですが...
#FixedAlignmentでは駄目なのでしょうか?
レスありがとうございます。
FixedAlignmentプロパティの方今確かめさせてもらいましたけど、
どうもうまくいかないです。
多分自分のやり方が悪いんだと思いますけど、
例ではForm_Loadの時でしたよね?
あの通りにやってみましたけど、
だめでした。
もう少し細かく説明していただけるとわかりやすいです。
あと、値を保持しておく方法の方ですが、文字化けしてしまって、
ちょっとわからないです。
もう1度説明していただけませんか?
よろしくお願いします。
自己レスです。
できました。
FixedAlignmentプロパティでできました。
ありがとうございました。
ツイート | ![]() |