• ベストアンサー

MSFlexGrid オブジェクトについて

Exelのようにセルをダブルクリックすることによってカーソルがセルの中に入り、直接キーボードから入力できるようにしたいのですが MSFlexGrid でそれをするにはどうしたらよいのでしょうか? MSFlexGrid について他にも質問しているのでよろしければ見て下さい。

  • Ryuku
  • お礼率68% (81/119)

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

再びmaruru01です。 追加情報。 Webページを見つけたのでアドレスを載せます。 では。

参考URL:
http://www.bcap.co.jp/hanafusa/
Ryuku
質問者

お礼

二回に渡って御回答いただきありがとうございました。 何とかなりそうです。

その他の回答 (1)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 MSFlexGridには直接入力機能がないので、自作しなければいけません。 結構面倒ですが、基本的なやり方は以下のようになります。 1.フレキシブルグリッドのセルと同じサイズのテキストボックスを用意する。 2.グリッドのあるセルをクリックしたら、その位置にテキストボックスを移動させ(それまではテキストボックスは非表示)、フォーカスをテキストボックスに移動させる。 3.テキストボックス上で入力をする。(見かけ上グリッドのセル上で入力しているようになる。) 4.入力後、Enter等で終了したら、テキストボックスの内容を真下のセルにコピーする。 5.テキストボックスは内容を消去して、次のセルに移動する。セル以外をクリックした場合は、非表示にしておく。 あとは、新規入力と編集の場合分けや、セルへの移動の仕方などでいろいろやらないといけないでしょう。 なお詳細は、   「新 Visual Basic 入門 シニア編」       著:林晴比古  出版:SOFTBANK Publishing という本に載っています。 Web上のどこかに落ちているかも知れませんので、探してみて下さい。 では。

関連するQ&A

  • MSFlexGridの使い方について(visual basic6.0)

    一度、TEXTBOXに文章入力し、コマンドをクリックするとその内容がMSFlexGridに追加されるというものを考えています。カーソルが追加したものの下に来るようにしたい(プログラム的に)のですが、コマンドをクリックするとMSFlexGrid上のカーソルの位置を変えることができる方法を教えていただけませんでしょうか。よろしくお願いします。

  • 表を作るときのオブジェクトは?

    Exelのようにセルで区切られた表を作ろうと思います。 そこでツールボックスのオブジェクトを適当に出していったら、それらしい物として DBGrid と MSFlexGrid が見つかりました。違いが分からなかったので何となく見た目から MSFlexGridを使って組んでいます。 この2つのオブジェクトの違いは何ですか? MSFlexGrid について他にも質問しているのでよろしければ見て下さい。

  • MSFlexGrid オブジェクトについて

    MSFlexGrid で  (1,1) (2,1) (3,1) .... (n,1)に文字列を入れました。 これら文字列の頭に数字を付加するため For t = 1 To n With MSFlexGrid1 .TextMatrix(t, 1) = t & "_" & .TextMatrix(t, 1) End With Next t としました。ところがこれを行うと左揃えだったものが右揃えになってしまいます。どうすれば、これを防げるでしょうか? 数字が頭にあるとこうなるようなのですが。 MSFlexGrid について他にも質問しているのでよろしければ見て下さい。

  • MSFLEXGRIDについて

    MSFLEXGRIDを使ってデータベースの内容を表示させようと考えています。 使い方としてはデータベースからfilterをつかって対象を絞ったデータをMSFLEXGRIDで項目を並び替えて表示させようとしたときにうまくいきません。 sqlで項目を並び替えてdatagridを使うしかないのでしょうか? なぜMSFLEXGRIDにこだわるかというと表示させた結果に対し、特定の行をダブルクリックすると別のフォームに移動するといったプログラムを作ろうとしているため、この方法がいいのかなと考えているからです。 どうかご教授のほどよろしくお願いします。 サーバー 2000 SQLサーバ2003 開発クライアントPC W2K VB6

  • エクセルに文字を入力するとき

    エクセルに文字を入力するときは 入力したいセルをアクティブにして 文字を入力します。 しかし、入力したいセルにあらかじめ文字が 入っていて、追加で入力したいとき (例えば、1000→1000円にする)は、 マウスでセルをダブルクリックして入力したい位置に カーソルを合わせています。 このときのマウスでダブルクリックする動作が わずらわしいです。 キーボードを使ってセルの中にカーソルを 点滅できないのでしょうか? BackSpaceを押すとセルの文字が全部消えてしまいます。

  • エクセル セルをダブルクリックしたことと同じ効果をキーボード操作で行うには?

    例えばセルに”あいうえ”と入力されていたときに、 セルをダブルクリックして”い”と”う”の間にカーソルを 持って行くことが出来ます。 このダブルクリックすることと同じ効果をキーボードの操作で 行いたいのですが、可能でしょうか?

  • 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 です。 急いでいますので、どなたかお願いします!

  • EXCELでマウスを使わずにセルの中を選択できませんか?

    たとえば、エクセルでデータや文字を打っているとします。 セルの入力状態なら「→」「←」等で移動できますが、入力状態にない(縦カーソルがない状態)だと、マウスでダブルクリックする必要がありますよね。 その手間が惜しいのですが、キーボードに両手を乗せたまま、セルの中を選択できないでしょうか?

  • MSFlexGridのセルをチェックボックスにしたい。

    MSFlexGridのセルをチェックボックスに出来るかどうか という質問はよく目にするのですが、答えがハッキリしないので ここで質問させてください。 私自身いくらやってもチェックボックスを表示できませんでした。

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

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