Gridに色をつけるには?

解決


kazu  2004-03-27 05:51:11  No: 112538

VB6.0のGridで任意の場所に色をつけるためにcol,rowでセルを指定し、ひとつのセルごとにループで色をつけたのですが、処理が遅くて。。
なので、一瞬とは言わず、せめて列ごとに色をつける方法があったら、
何方か、よろしくお願い致します。


魔界の仮面弁士  2004-03-27 14:44:46  No: 112539

> VB6.0のGridで
VB6のCD-ROMにはGridコントロールも収録されていますが、それは
(VB4などの)古いプロジェクトからの以降用の物です。できれば
Gridではなく、MSFlexGridやMSHFlexGridを使った方が良いかと。

# ……まぁ、実際には Grid ではなく、MS(H)FlexGridの事なのでしょうけれども。

> せめて列ごとに色をつける方法があったら、
MS(H)FlexGridの事であれば、RowSel,ColSel,FillStyleを併用すれば、
複数の範囲を一括指定できますよ。


特攻隊長まるるう  2004-03-29 18:12:18  No: 112540

MS(H)FlexGrid なら… .Redraw = False にするだけでも
違うと思います。


kazu  2004-03-29 19:52:15  No: 112541

返答ありがとうございます。

>MS(H)FlexGridの事であれば、RowSel,ColSel,FillStyleを併用すれば

---------------------------------------
MSFlexGrid.FillStyle=1
MSFlexGrid.Col = 1
MSFlexGrid.ColSel = 6
MSFlexGrid.Row = 1
MSFlexGrid.RowSel = 2
MSFlexGrid.CellBackColor=色
---------------------------------------
とすれば、上から2行6列のカラムの色が変更されるはずですよね?
なぜか、2列1行のカラムの色しか変更されません。。

>MS(H)FlexGrid なら… .Redraw = False にするだけでも

.Redraw = False、.Redraw=trueで挟みましたがどうも、自分が理想
とする速度にはなりませんでした。

たびたび済みません。
どうか、ご教授のほどよろしくお願い致します。


魔界の仮面弁士  2004-03-29 20:23:36  No: 112542

> MSFlexGrid.FillStyle=1
「0」や「1」といったマジックナンバーを使うのではなく、
『flexFillRepeat』などの定数を使うことをお奨めします。

> とすれば、上から2行6列のカラムの色が変更されるはずですよね?
考え方は間違ってはいませんが、そのコードではColSelは1になります。

> なぜか、2列1行のカラムの色しか変更されません。。
「2行1列」ですよね?
ヘルプで、ColSel,RowSelプロパティについて調べてみてください。
そこに書かれている[解説]を最後まで読むと、理由がわかるかと思います。


kazu  2004-03-29 21:59:13  No: 112543

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

解説を読んだつもりでしたが、確認ミスでした。
次からは順序を追ってコーディングをしようと思います。

また、よろしくお願い致します。


kazu  2004-03-29 22:00:23  No: 112544

済みません解決チェックを忘れました。


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

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






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