- ベストアンサー
MSHFlexGridについて教えてください
1.1行選択してDblClickしたいのですが、 今複数行選択できてしまいますので1行しか選択できないようにするには どうすればよいのか教えてください。 2.選択した行を色をかえているのですが、固定行は色がかわりません 替えることはできないのでしょうか? 3.フォーカスがMSHFlexGridにあるときに ↑↓で選択行を移動したいのですがどうすればよいのか教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>1.1行選択してDblClickしたいのですが、... MS-FLEXGRIDだとどうしてもドラッグで選択範囲が反転できてしまうようです。先の回答でもあるようにVS-FLEXGRIDを使用するとプロパティの設定で簡単にできるのですが、残念ながらMS-FLEXGRIDにはそのプロパティがありません。それを1行だけ選択にするひとつの方法としては、グリッドコントロールのMouseUpイベント及びKeyUpイベントに以下の記述を入れるとできるかと思います。(以下の例は、グリッドコントロールをGrid1とした場合) If Grid1.Row <> Grid1.RowSel Then Grid1.RowSel = Grid1.Row End If でも、質問にあるような「グリッド上でダブルクリックする」と複数選択は解除されて1行だけしか選択されないと思いますがどうでしょう。 >2.選択した行を色をかえているのですが、固定行は色がかわりません 固定行(列?)は、色が変わらないです。例えば固定列のプロパティ(FixedCols)を 0 で設定するとその行全体が選択されるようになります。 >フォーカスがMSHFlexGridにあるときに↑↓で選択行を移動したい 同じようにやってみましたがフォーカスがある場合、↑↓キーで移動できました。 とりあえずご質問の内容だけで動作確認していますのでもしもこの機能を追加するときは他への影響がないか十分なテストを行ってみてください。
その他の回答 (1)
- todo36
- ベストアンサー率58% (728/1234)
製品版(VS-FlexGrid)ならすべて出来ます。 MSHFlexGridは所詮VBのおまけで、機能が制限されています。
補足
できないということですか? VBの標準の機能だけで表形式で上記質問みたいなことが できるなにかないのですか? 新たなOCXはつかいたくないので