MSFlexGridでの配置について

解決


DD  2003-10-02 20:19:33  No: 108928

初めて利用させていただきます。
初心者プログラマです。よろしくお願いします。

MSFlexGridで質問なんですが、

現在、固定行の列見出しを
MSFlexGrid1.FormatString = "行番号  |コード  |商品名  |数量  "
MSFlexGrid1.Rows = 1
で定義していますが、

数量の列の数値をカンマ表示させる為にto_char(suuryou,'9,999')を
使って検索をかけています。
そのせいでグリッドに表示させると、本来、数値型は右寄せになるはずが、
文字型になってしまっているので、左寄せになってしまいます。

それを右寄せにするために、
MSFlexGrid1.ColAlignment(3) = flexAlignRightCenter
を使用するんですが、
これでは列見出しまで右寄せしてしまいます。

固定行の列見出しは左寄せまたは中央寄せで
固定行以外の数値のところを右寄せする方法はありませんか?
ご存知の方いましたらアドバイスよろしくお願い致します。


魔界の仮面弁士  2003-10-02 21:18:20  No: 108929

CellAlignmentプロパティを使いましょう。


DD  2003-10-03 00:37:00  No: 108930

レスありがとうございます。

いろいろと考えて試してみましたけれど、
CellAlignmentプロパティでセルの座標などの指定はできるんでしょうか?
うまくいきません。

CellAlignmentプロパティをどのように
使えばいいんでしょうか?

どなたかよろしくお願いします。


batchman  2003-10-03 01:15:00  No: 108931

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


DD  2003-10-03 20:44:35  No: 108932

レスありがとうございます。

すべてCellAlignmentプロパティで設定することで
対応することができました。
ありがとうございました。


DD  2003-10-03 21:43:42  No: 108933

セルの位置は解決したと思っていたんですけど、
新たな問題が出てきてしまいました。

元々、検索をかけてグリッドに表示し、
検索後、1行目の固定列を除いたすべてのセルを文字の反転させていたのですが、

CellAlignmentプロパティを使って1つずつ配置を指定に変更後、
文字の反転が最終行の最終列の1つのセルだけになってしまいます。

これをCellAlignmentプロパティを使った状態で、
1行全体(固定列を除く)を反転させる方法を
ご存知の方、アドバイスよろしくお願いします。


batchman  2003-10-03 23:30:14  No: 108934

セルの配置を行うイ妨什澆離札詒楼マ(Col,Row,ColSel,RowSel)を保持しておき、
全てのセルの配置が終了した後に、
セル範囲(Col,Row,ColSel,RowSel)を元に戻せば出来るんでないでしょうか。

#カレントセルの変更で不都合が出るんじゃないかと思って
#FixedAlignmentプロパティの例も載せていたんですが...
#FixedAlignmentでは駄目なのでしょうか?


DD  2003-10-04 01:00:36  No: 108935

レスありがとうございます。

FixedAlignmentプロパティの方今確かめさせてもらいましたけど、
どうもうまくいかないです。
多分自分のやり方が悪いんだと思いますけど、

例ではForm_Loadの時でしたよね?
あの通りにやってみましたけど、
だめでした。
もう少し細かく説明していただけるとわかりやすいです。

あと、値を保持しておく方法の方ですが、文字化けしてしまって、
ちょっとわからないです。
もう1度説明していただけませんか?

よろしくお願いします。


DD  2003-10-04 01:06:59  No: 108936

自己レスです。
できました。

FixedAlignmentプロパティでできました。

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加