• ベストアンサー

MSHFlexGrid および MSFlexGrid に関して

こんにちわ MSFlexGrid,HSHFlexGrid に関して下記の方法を調査中です。 ご存知の方いらっしゃいましたら、情報提供をよろしくお願い致します。 (1)固定行および固定列のグリッド線の色の設定。 (2)固定行でない行のスクロールの固定の方法。 ※エクセルのウィンドウの固定と同様の設定。 たびたび申し訳ありません。よろしくお願い致します。

  • sho_ta
  • お礼率68% (221/322)

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

製品版(VS-FlexGrid)ならGridColorFixed, ForeColorFixed, BackColorFixedで出来ます。 MS*FlexGridは所詮VBのおまけで、機能が制限されています。

sho_ta
質問者

お礼

早速の御回答ありがとうございました。 製品版でないと出来ないのですね..... 予算の関係で購入は難しい状況なのです。 MS FlexGrid でなんとかがんばってみます。 また何か有りましたらよろしくお願い致します。

その他の回答 (1)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

Todo氏に大賛成 以前にリストビューをHookして色を付けましたが、既存のコントロールへの力技の改造は、大変な労力を費やします。 あるいは・・・ 表示だけならグリッド系コントロールを使用しないで、OLEオブジェクトでEXCELを埋め込むというのは反則でしょうか?

sho_ta
質問者

お礼

有り難うございました。 >あるいは・・・ >表示だけならグリッド系コントロールを使用しないで、OLEオブジェクトでEXCEL>を埋め込むというのは反則でしょうか? 全端末に Excel がインストールされている訳ではないので NG です。 標準のグリッドコントロールでは出来ない事が解りましたので、それだけで大変助かりました。 また何か有りましたらよろしくお願い致します。

関連するQ&A

  • MSFlexGrid

    VB6SP6を用いています。MSFlexGridですが、固定行をラベルに用いています。このグリッドをクリックして処理を行っています。固定行では、クリックを無視してほしいのです。固定行をクリックしても、grid.Rowの値は0ではなく、押してもいない、1が返ってきます。本来はクリックしたくない場所ですが、処理を行う1行目をクリックしたことと同じになってしまいます。 ラベル部分をクリックしないようにと伝えていますが、やはり具合が悪いです。 良い、回避方法はないでしょうか。

  • VB6 MSFlexGridとPictureBox

    お世話になります。 Visual Basic6.0(SP6)で開発している素人です。 (質問1) PictureBoxのBackColorが変色できません。 Picture1.BackColor = &H80FF80 '緑色。色は問いません。 PictureBoxは色の変更はできないものなんでしょうか? (質問2) MSFlexGridでexcelの内容をセル指定して表示できたのですが、 指定のMSFlexGridの行の色を変えられません。20行3列で、○行目の1~3列を 色を変えたいです。 MSFlexGrid1.Row = 2 MSFlexGrid1.BackColorSel = QBColor(11) MSFlexGrid1.CellForeColor = QBColor(11) いづれもうまくいきませんでした。。。 (質問3) MSFlexGridでexcelの内容をセル指定して表示できたのですが、行の高さを 変更できません。 MSFlexGrid1.RowHeight(-1) = 800  '標準の行高さ指定(-1で全部を変更) と、やっても MSFlexGrid1 .RowHeight(0) = 800 '0行目の高さを800に MSFlexGrid1 .RowHeight(1) = 800 '1行目の高さを800に と、やっても 一番上の行しか高さが変わりません。 優先順位は 質問3 > 質問1 > 質問2 です。 急いでいますので、どなたかお願いします!

  • MSFlexGridとDataGridの違いについて

    VBの勉強をしております。 WindowsXP、VB6.0です。 標記の件について質問させてください。 MSFlexGridは、グリッドの結合や色を付けたりするのに適している。 DataGridはエクセルのように、直接グリッド内を編集できるが、結合は無理で、色付けの設定はグリッド単位では指定できない。 2つのグリッドのどちらを使えば良いのか分からず、自分で調べてみた所、以上のような違いがあるのでは、という所までは分かりました。 行いたい処理は、 ・ファイルからデータを取り出し、グリッドへ表示。データの追加、修正、削除を行い、ファイルへ保存する。 機能として、検索とソートを行える。 また、データをクリックした際に、セルではなく、行全体の色を変更し、「行が選択されている」という見た目にしたい。 以上のような考えがあるのですが、実装が簡単なのはどちらのグリッドなのでしょうか? また、他に上記のような処理が可能なコントロールがあれば教えていただけないでしょうか? 以上、初心者なもので、文章が理解しづらいかもしれないですが、よろしくお願いいたします。

  • VB6.0 MSFlexGridのMouseRowプロパティについて

    研修中の新人です。 テキストファイルからランダムアクセスをしMSFlexGridに表示させる課題を作成しています。 MSFlexGridに表示させた行の更新、削除について考えています。 MouseRowプロパティで得られる行の番号というのはMSFlexGridに表示させている行の番号でしょうか。 それとも検索で得られた行全体の中の番号でしょうか。 例えば検索で50件得られMSFlexGridに表示したとします。 MSFlexGridは10件ずつしか表示しないとします。 41件目から50件目をスクロールして表示させ50件目をクリックしたとき、 MouseRowは"10"を返すのでしょうか。それとも"50"を返すのですか。 もし、"10"をかえしてしまうのなら列幅を0にしてファイルの行番数を格納しておくような列をつくります。(行番号は表示させてはいけない) そうではなく、"50"を返すなら配列に検索一致したファイルの行番数を格納しておく方法でコードを書こうと思います。 ご存知の方お願いします。

  • MSFlexGridのスクロールバー位置

    VB5(SP3)です。 ある検索条件でMSFlexGridに100行表示させた後、垂直スクロールバーで50行ほど下方向にスクロールさせます。 この状態で違う検索条件で1行表示させた時、垂直スクロールバーの位置が変わらないため(TOPにこない)に何も表示されません。垂直スクロールバーを上方向にスクロールさせれば出てきます。 垂直スクロールバーをTOP位置に持ってくる方法はありませんか? MSFlexGrid.VscrollBar.Value=0とかあれば・・・・

  • EXCELのデータをMSFlexGridへ

    VB6.0で開発しています。 EXCELのデータをMSFlexGridへ表示しています。 下のように表示出来たのですが 特定の行だけ表示したいのですがどうすればいいでしょうか? 例えばA列とC列とD列といった場合。 よろしくお願いします。

  • VB6 MSFlexGridについて

    こんばんは。 VisualBasic6のMSFlexGridに以下の様にデータをセットしたいのですが中々うまくいきません。 ※DBのデータ RowNo    ColNo   Data 1         1      A 1         2      B 1         3      C 2         1      D 2         2      E 2         3      F ※MSFlexGridデータセットイメージ RowName  ColName1  ColName2  ColName3 1         A        B       C    2         D        E       F    縦に並んでいるデータベースの値を横に並べたく思っています。 RowNo = 1 , ColNo=1 , Data =A ⇒ MSFlexGrid 1行目、1列目の値=A というような感じです。 わかり難くて申し訳ないですがご教授頂けると助かります。 どうぞ宜しくお願い致します。

  • VB6のMsFlexGridコントロールについて

    取得したデータ数分の行にデータを表示して その後10カラム目のデータでソートしているのですが 行選択状態の表示が消えてしまいます。 MSFlexGrid1.Col = 10   MSFlexGrid1.Sort = flexSortGenericDescending '* 降順にソート MSFlexGrid1.Row = 1 どうやら、Col、Rowプロパティに値を設定した時点で消えているようです。 これらをやらないと1行目が選択状態と なっています。表示後カーソルでクリックすると 行選択状態になります。 表示時点で行選択状態にさせたいのですがなにか 手段があれば教えてください。 設定しているプロパティは下記の通りです。 HighLight=1:(選択を強調表示) SelectionMode=1:(行全体を選択) よろしくおねがいします。

  • グリッドについて,エクセルのアドインについて

    1)グリッド上で文字を直接入力したいのですが,どのようにすればよいのでしょうか。具体的には,エクセルのようにグリッド上をクリックしたら,そのグリッドがテキスト入力モードになるような方法を教えて頂きたいと思います。 2)MSFlexGridに描かれる垂直スクロールバーの,幅の値を得る方法を教えてください。(スクロールバーを表示させるとグリッドの右端が切れてしまうため) 3)エクセルのソルバーアドインを,VBから使用することはできますか? 複雑な回帰分析を行わせようと考えておりますので,できればエクセルのアドインをそのまま使えれば…,と考えております。 以上,よろしくお願いいたします。

  • MSFlexGrid 行選択状態

    現在VBを勉強しております。(WindowsXP、VB6.0) http://oshiete1.goo.ne.jp/qa996239.html ↑の質問と同じ内容で悩んでいるんですが、回答を見ても理解出来ず、解決出来ていません(>_<) 1.処理起動時に、テキストファイルからデータを読み込み、グリッドへ表示した後。 2.ソートした後。 3.「検索」処理にてデータを絞り込んで表示した後。 以上3点の時に、行選択状態でなくなってしまうので、それを修正したいんですが、方法が分かりません(;_:) 現在は、グリッドのフォーカスイベントに MSFlexGrid1.SelectionMode = flexSelectionByRow を設定しているだけです。 以上、よろしくお願いいたしますm(__)m

専門家に質問してみよう