• ベストアンサー

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

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

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

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

Col, ColSel, Row, RowSelプロパティに値を代入するのではだめかな? フォームにText1とCommand1とMSFlexGrid1を用意していただきたい。 Private Sub Command1_Click() MSFlexGrid1.AddItem Text1.Text & vbTab & Text1.Text MSFlexGrid1.Col = 1 MSFlexGrid1.ColSel = 1 MSFlexGrid1.Row = MSFlexGrid1.Rows - 1 MSFlexGrid1.RowSel = MSFlexGrid1.Row MSFlexGrid1.SetFocus End Sub

lonly-one
質問者

お礼

返事が遅くなってごめんなさい。できました!ありがとうございます!

関連するQ&A

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

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

  • MSFLEXGRIDについて

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

  • EXCEL VBAのユーザーフォーム上のテキストボックスの入力方法について

    すいません教えていただきたいことがあります。 EXCEL VBAのユーザーフォームについて、 コマンドボタンにタグを設定して、これにキーボードと同じ機能を持たせて テキストボックス内に入力することは可能でしょうか。 例えばコマンドボタンを「あ」~「ん」まで作り、それぞれのボタンに「あ」~「ん」までのタグを設定する。 Private Sub UserForm_Initialize() CommandButton1.Tag = "あ" CommandButton2.Tag = "い" ・・・・「ん」までボタンを作成する。 次に、 Private Sub CommandButton1_Click() TextBox1.Value = TextBox1.Value & CommandButton1.Tag End Sub Private Sub CommandButton2_Click() TextBox1.Value = TextBox1.Value & CommandButton3.Tag End Sub ・・・「ん」まで作成する。 この設定では、コマンドボタンのクリックで文字の追加はできますが、ボタンを押すと常に文字が一番後ろに追加されるため、 テキストボックスをクリックしても文章の途中に文字を挿入することが出来ません。 通常のキーボードの入力と同じようにテキストボックス内でクリックした箇所からコマンドボタンで入力を開始するような設定は可能でしょうか。 よろしくお願いします。

  • ワードで、カーソル位置(入力箇所)を画面上下中央に保持する設定は?

    ワードの機能についてお伺いします。 文章作成の時に文字を打ち込んでいくと、文章が打ち込まれていくままにカーソル位置(入力箇所)が下の行に移動し、カーソル位置が画面最下行まで書いていくと、画面は書き上がった文章で埋められ、わざわざスクロールしないとその下が見えない状態になってしまいます。書いている文章の前後を確認しながら言葉を選びたい場合などに、毎回不便を感じています。 そこで質問。カーソル位置を常に画面上下中央に固定し、入力してもカーソル位置(入力している行)は移動させずに、文章画面の方を自動でスクロールさせる(書きあがった部分が順次上に送られていく)というような設定はないのでしょうか? 或いは、ショートカットキーで、今入力している箇所を画面上下中央に一発で移動させる(そうすれば入力箇所の前後が見渡せる)ような機能はありませんか? 以前似たような質問をされた方がいらっしゃたようですが、問題解決には至らなかった模様で、ここにもう一度質問させていただきます。 よろしくお願いいたします!!

  • VB6入力画面オプションボタンで止まらない。

    お世話になります。 XPのVB6で入力画面を作っているのですが、 OptionButtonのIndex0とIndex1で次にカーソルを移動させるTextBoxを変えたいのですが、 プログラムを実行するといきなりIndex0で移動させるTextBoxにカーソルが移動してしまいます。 OptionButtonのClickとKeyDownとLostFocusルーチンに入ったら止めるようにしたところ LostFocusで止まりました。 どうすれば最初のOptionButtonで止まるでしょうか。 ご教授宜しくお願いします。

  • Visual Sutudio 2003で、文字を反転させるプログラムが正しく動きません。

    Visual Sutudio 2003で、困っています。 TextBox1に、文字を入力してButton1をクリックすると、入力された文字が反転されてLabel3に、表示されるプログラムを作ってみたのですが、上手く動きません。 例えば、「TextBox1」と入力してボタンをクリックすると、「1xoBtxeT」と表示させたいのですが、「1ote」と一文字置きに表示されてしまいます。 「Button1をクリックした時のプログラム」 Dim moji, kekka As String Dim i As Integer Label3.Text = "" moji = TextBox1.Text Label3.Text = moji.Substring(moji.Length - 1, 1) For i = 2 To moji.Length  Label3.Text &= moji.Substring(moji.Length - i, 1)  i = i + 1 Next End Sub 正しく表示させるには、どうすればいいのでしょうか?分かる方、宜しくお願いします。

  • MSFlexGridで↑や↓押下時の処理

    現在VBの勉強をしております(WindowsXp、VB6.0) MSFlexGridの行を選択すると、行のデータをテキストボックスへ表示する、といった処理を実装したんですが、キーボードの「↑」や「↓」押下時に、選択行は変わるんですが、クリックイベントでもフォーカスイベントでも処理を拾えません・・・。 まだ試してはいないんですが、keyDownイベントで、「↑」「↓」を判断し、更にグリッドにフォーカスが存在する場合に、1行上(または下)のデータをテキストボックスに表示する。 という処理をしないと不可能でしょうか? どう考えても上記の方法はスマートでは無いなぁと思い、何か良い方法があれば教えていただきたく質問させていただきました。 よろしくお願いいたしますm(__)m

  • MSFlexGridとDataGridの違いについて

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

  • windoswフォームのTextBox操作について

    私は現在、VC++2010のwindowsフォームを使ってアプリケーションの開発を行っています。 与えられた文字列をTextBoxに追加表示という形で表示するプログラムを作成した所、与えられた文字列が目的通りに表示されていくのは確認できました。 しかし、TextBoxがいっぱいになると視覚的には領域の右端にスクロールバーが短くなっていくのみで、TextBoxに表示されている文字列はスクロールせず、結果、新しく表示された文字列は見えません。 これは、カーソルが左上端を位置したまま移動しないことが原因だと思うのですが、常にカーソルを最後尾に持っていく方法などはありませんでしょうか。 文字ばかり長くなりましたが、よろしくお願いします。

  • ユーザーフォームのカーソル移動

    Excelのマクロでカーソル移動の事で教えて下さい。 フォームを表示するとTextBox1にカーソルが表示されます。 TextBox1で入力の判断しNG場合 カーソルを移動せずTextBox1に表示したいのですが CommandButton1に移動してしまいます。 (SetFocusでTextBox1を指定してNG) 【フォームの内容です】 TextBox1が1個 CommandButtonが2個存在します。 TextBox1のTabIndexは 0 CommandButton1のTabIndexは 1 CommandButton2のTabIndexは 2 【プログラムです】 Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1 = "" Then MsgBox "NG"     TextBox1.SetFocus End If End Sub 宜しくお願い致します。