• 締切済み

ユニバーサルスクロールが使えるようにするには?

Visual Basic2005で開発中です。 プログラムを実行し、DataGridView上でマウスのユニバーサルスクロール機能(オートスクロール機能)が使えるようにしたいのですが、どこで設定をすればいいのでしょうか? マウスはエクセル上では、ユニバーサルスクロール機能が使える状態です。 初めての Visual Basic2005での開発で、わからないことばかりです。 お願いします。

みんなの回答

回答No.1

お世話になります。 勉強不足でオートスクロール機能というのが どういうものを指すのかわからないのですが、 マウスの動きに追随してセルやスクロールする、という意味であっていれば以下の実装で出来ました。 結構めんどくさかったし、ソースももうちょっときれいに書き直せると思います。 Private Sub DataGridView1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseMove   Dim hInfo As DataGridView.HitTestInfo = _   Me.DataGridView1.HitTest(e.X, e.Y)   Debug.WriteLine("hInfo:" & hInfo.ToString())   Dim nextRowIndex As Integer = 0   Dim nextColumnIndex As Integer = 0   If hInfo.Type = DataGridViewHitTestType.Cell Then     nextRowIndex = hInfo.RowIndex     nextColumnIndex = hInfo.ColumnIndex   ElseIf hInfo.Type = DataGridViewHitTestType.ColumnHeader OrElse _      hInfo.Type = DataGridViewHitTestType.VerticalScrollBar Then     If hInfo.RowIndex > Me.DataGridView1.CurrentCell.RowIndex Then       nextRowIndex = Me.DataGridView1.CurrentCell.RowIndex + 1     ElseIf Me.DataGridView1.CurrentCell.RowIndex >= 0 Then       nextRowIndex = Me.DataGridView1.CurrentCell.RowIndex - 1     End If     nextColumnIndex = hInfo.ColumnIndex   ElseIf hInfo.Type = DataGridViewHitTestType.RowHeader OrElse _      hInfo.Type = DataGridViewHitTestType.HorizontalScrollBar Then     If hInfo.ColumnIndex > Me.DataGridView1.CurrentCell.ColumnIndex Then       nextColumnIndex = Me.DataGridView1.CurrentCell.ColumnIndex + 1     ElseIf Me.DataGridView1.CurrentCell.ColumnIndex >= 0 Then       nextColumnIndex = Me.DataGridView1.CurrentCell.ColumnIndex - 1     End If     nextRowIndex = hInfo.RowIndex   Else     Exit Sub   End If   If nextRowIndex < 0 Then nextRowIndex = 0   If nextRowIndex > Me.DataGridView1.RowCount - 1 Then nextRowIndex = Me.DataGridView1.RowCount - 1   If nextColumnIndex < 0 Then nextColumnIndex = 0   If nextColumnIndex > Me.DataGridView1.ColumnCount - 1 Then nextColumnIndex = Me.DataGridView1.ColumnCount - 1   Me.DataGridView1.CurrentCell = Me.DataGridView1.Rows(nextRowIndex).Cells(nextColumnIndex)   Me.DataGridView1.FirstDisplayedCell = Me.DataGridView1.CurrentCell End Sub

JJ-TO
質問者

お礼

早速のご回答、ありがとうございます。 ユニバーサルスクロール機能というのは、スクロールマウスのスクロール部分を押すと、カーソルの形が変わり、マウスを動かした方へスクロールするという機能です。 機能としては、スクロール部分をクリックした後、記述していただいたようにマウスの動きに合わせて、画面がスクロールすればよいのですが、申し訳ないのですが、私が思ったような動きではないです。 短時間の間に、テストまでしていただきまして、ありがとうございます。 心から感謝いたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • マウスのスクロールについて

    マウスのスクロールについて質問です。 Excelで作業中の出来事です。 マウスの真ん中についてるコロコロするものを押すと三角印?のようなマークが出て、コロコロしなくても自動でスクロールする機能が出来るシートと出来ないシートがあるんです。同じファイルなのに。 なにかシートごとに設定があるのでしょうか? どうすれば自動でスクロールするようになるか、ご存知の方いらっしゃいましたら、宜しくお願いします。

  • スクロールできない!

    現在家族のパソコンを使わせてもらっているのですが、マウスでスクロールができません。パソコン本体のタッチパッドのスクロールも同様です。 Chromeやfirefoxなどのブラウザでは正常に機能しているのですが、エクスプローラ、コントロールパネル、すべてのプログラムのスクロールができません。ですが、すべてのプログラムのスクロールだけはタッチパッドでできました。 買ったときはこのようなことはなかったので、元の状態に戻したいです。 解決策を知っている方がいましたらどうか教えてください。

  • オートスクロールが出来ない!

    最近まで普通にオートスクロールが出来ていたのになぜか急に出来なくなってしまいました! マウスのプロパティでもスクロールの行数しか設定出来ませんし・・・ どうしたらいいんでしょうか? お願いします。

  • スクロールを少しづつするには

    エクセルでマウスのホイールでスクロールすると 一度に5行ぐらいスクロールしてしまいます。 これを1行にするにはどこを設定すればいいのでしょうか。 あまりにも初歩的な質問なのでしょうか。 スクロールで検索しても見つかりません。 OSはXP、エクセルは2000です。

  • マウスのオートスクロール機能の名称について

    スクロール機能付マウスでオートスクロール状態にすると、画面上にマーク(丸に矢印だったり四角に矢印だったり)がでてきますが、このマークの名称を教えてください。

  • オートスクロールのカーソル

    ノートPCです マウスが濡れて?スクロールを押してもオートスクロールのカーソルが出ません 設定みてもそれについてはないようでした ノートパソコンのボタンのクリックでオートスクロールのカーソルを出す方法はありますか?

  • lunascape5はオートスクロールは使えませんか?

    先ほどlunascape5.0をインストールしたのですが、マウスのホイールをクリック後、ウィンドウのスクロールが自動で動くようになる、オートスクロール機能は使えないのでしょうか? IEの方ではちゃんと動作するので、マウスの故障ではないと思うのですが・・・。

  • DataGridViewのスクロールでメモリリークする?

    はじめまして Microsoft Visual C# 2005の初心者です。 WinXP上で、データグリッドビューを使用して、表示専用の5列10000行程度の表を作成しています。 データグリッドビューへのデータ設定は、データバインドは行わずに、直接 dgvDiffList_dataGridView1[2, 0].Value = "ABC"; のように行っています。 データグリッドビューの表示後、マウスホイールでスクロールさせて全データを表示しようとすると、スクロールを行う毎にメモリ使用量がどんどん増加していきます。 5000行目辺りの表示を行うころから80Mバイト位を使用してしまい、スクロールバーは動くものの、画面の表示更新が行われなくなり、それでもスクロールバーを動かしていると、OutOfMemoryExceptionが発生してしまいます。 データグリッドビューをバーチャルモードで実行しても、同様の現象になります。 データグリッドビューで大量の表示をした上でスクロールを行うと、メモリを消費してしまうものでしょうか。 また、それを回避する方法はなにかないでしょうか。

  • スクロールでオートシェイプがズレます

    困ってます・・よろしくお願いします。m(_ _)m エクセルで業務フロー図を描いています。 オートシェイプを多用しているのですが、マウスのホイールでスクロールすると、画面のオートシェイプ表示がズレてしまいます。 例えば・・ 1.適当なシートに四角形オートシェイプをつくり、中にテキストを書きます。 2.作った四角形が見えなくなるまでホイールスクロールします。 3.逆方向にホイールスクロールで、作った四角形を見ます。 4.すると、テキストだけ同じ場所にあり、四角形の枠線だけ4セル分程下側にズレて見えます。 表示がおかしいだけで、情報はきちんと保持されています。 いろいろ試した情報として・・ ・別シートを選択し、元のシートに戻ると、表示が直っています。 ・マウスホイールではなく、エクセル右側のスクロールバーを使うと、表示が壊れません。 ・拡大縮小では、表示は壊れません。 スクロールバーは使いづらいため、何とかして直したいと思い、 ・WindowsUpdate ・OfficeUpdate ・マウスドライバ更新 上記をすべて実施しましたが、改善されません・・。 以下、PC情報です。  OS:WinXP SP2  Office:Excel 2003 11.6355.6408 SP1  マウス:Logitech MX300 お手上げ状態で、質問させていただくことになりました。 どうかご回答お願いします。m(_ _)m

  • マウスのスクロールが使えません。

    Windows98でノートPC Fujitsu Fm-V BIBLO NE4/50Rを使っています。 マウスはUSB接続のもので、これまでマウスについているスクロールボタンが普通に使えていました。 しかし、突然まったく使えなくなりました。 ワードでもエクセルでもIEでも使えません。 何か設定等が変わってしまったのでしょうか? スクロール以外の全ての機能は通常通りに使えます。 非常に困っていますので、どなたか分かる方、解決方法を教えてください。 よろしくお願いします。m(_ _)m

このQ&Aのポイント
  • ローランド MC-707でのメトロノームのオン・オフ方法や種類の設定・変更方法、音量調整方法、その他の調整方法を教えてください。
  • ローランド MC-707のメトロノームの基本的な設定方法や機能について教えてください。
  • メトロノーム全般の設定や調整方法が分からないので、ローランド MC-707のメトロノームについて教えてください。オン・オフの方法や種類の設定・変更方法、音量の調整方法、その他の調整方法について知りたいです。
回答を見る

専門家に質問してみよう