VB6.0で階層フレキシブル グリッド コントロールを
3個をそれぞれ明細部・縦計部・横計部として使用して、
スクロールを連動させて表示したいと思っています。
ただ、グリッドコントロールのそれぞれにスクロールバー
を表示させるのはあまり見栄えがよくないので、
垂直スクロールバーで、明細と横計の上下スクロール、
水平スクロールバーで、明細と縦計の左右スクロールを
制御しようと思い、
とりあえず、グリッドコントロールの
ScrollBarsプロパティーをflexScrollNoneに設定してTopRowプロパティーとLeftColプロパティーの値を
適当に設定してみたのですが、左上のセルは(1,1)
が表示されたままでした。
なんとか、うまくスクロールさせる方法はないでしょうか?
No.2ベストアンサー
- 回答日時:
スクロールバーを表示していないと、スクロールできないみたいです。
(多分)(ヘルプにはキーボードでの入力時の事しか書いてありませんでした。)
そこで、下記のようにしてみたらどうでしょう?
Private Sub HScroll1_Change()
With MSHFlexGrid1(0)
.Visible = False
.ScrollBars = flexScrollBarHorizontal
.LeftCol = HScroll1.Value
.ScrollBars = flexScrollBarNone
.Visible = True
End With
End Sub
一部分だけですが・・・
(1)グリッドを非表示にする。(画面のちらつきが起こらないように)
(2)スクロールバーを表示する。
(3)左上のセルを変更する。
(4)スクロールバーを非表示に戻す。
(5)グリッドを表示する。
説明がなくても分かるとは思いますが念のため。
もっと、簡単な方法(設定)があったらすみません。
No.1
- 回答日時:
問題なく動きますが..
Private Sub MSHFlexGrid2_Scroll()
MSHFlexGrid1.LeftCol = MSHFlexGrid2.LeftCol
End Sub
この回答への補足
すいません、うまく伝わっていないようですね。
MSHFlexGridのScrollイベントじゃなくて、
VScrollとHScrollのChageイベントでMSHFlexGridを
スクロールさせたいんですよ。
時間があったので、こんな感じっていうのを
作ってみました。
--------------------------------------------------
Private Sub Form_Load()
Dim wR As Long
Dim wC As Long
With MSHFlexGrid1(0)
.ScrollBars = flexScrollBarNone
.FixedCols = 1
.FixedRows = 1
.Cols = 11
.Rows = 11
End With
With MSHFlexGrid1(1)
.ScrollBars = flexScrollBarNone
.FixedCols = 0
.FixedRows = 1
.Cols = 1
.Rows = 11
End With
With MSHFlexGrid1(2)
.ScrollBars = flexScrollBarNone
.FixedCols = 1
.FixedRows = 0
.Cols = 11
.Rows = 1
End With
For wR = 1 To 10
MSHFlexGrid1(1).TextMatrix(wR, 0) = _
"(" & Str(wR) & "," & Str(1) & ")"
For wC = 1 To 10
MSHFlexGrid1(0).TextMatrix(wR, wC) = _
"(" & Str(wR) & "," & Str(wC) & ")"
Next wC
Next wR
For wC = 1 To 10
MSHFlexGrid1(2).TextMatrix(0, wC) = _
"(" & Str(1) & "," & Str(wC) & ")"
Next wC
With VScroll1
.Min = 1
.Max = MSHFlexGrid1(0).Rows - 1
.SmallChange = 1
.LargeChange = 2
End With
With HScroll1
.Min = 1
.Max = MSHFlexGrid1(0).Cols - 1
.SmallChange = 1
.LargeChange = 2
End With
End Sub
Private Sub HScroll1_Change()
MSHFlexGrid1(0).LeftCol = HScroll1.Value
MSHFlexGrid1(2).LeftCol = HScroll1.Value
End Sub
Private Sub VScroll1_Change()
MSHFlexGrid1(0).TopRow = VScroll1.Value
MSHFlexGrid1(1).TopRow = VScroll1.Value
End Sub
--------------------------------------------------
コントロールの配置は、
MSHFlexGrid1はコントロール配列で、
MSHFlexGrid1(0)の右にMSHFlexGrid1(1)を、
さらに、MSHFlexGrid1(1)の右にVScroll1を隙間なく
配置します。
そして、MSHFlexGrid1(0)の下にMSHFlexGrid1(2)を、
MSHFlexGrid1(2)の右にHScroll1を隙間なく
配置します。
たぶん、ずれると思いますが雰囲気だけでも・・
+-----------------------+---------+△
| | |H|
| | |S|
| | MSHFlex |c|
| MSHFlexGrid1(0) | Grid1 |r|
| | (1) |o|
| | |l|
| | |l|
| | |1|
| | | |
+-----------------------+---------+▽
| |
| MSHFlexGrid1(2) |
| |
+-----------------------+
< VScroll1 >
-----------------------
よろしければ、どこを直せばよいかアドバイスお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- gooブログ 記事の下にスクロールバーが表示される 2 2022/08/19 20:42
- その他(プログラミング・Web制作) マウスオーバー→ホイール回転でスクロールできない 2 2022/10/31 10:06
- その他(IT・Webサービス) このサイトのスクロール逆じゃないですか? 1 2022/10/05 20:48
- Visual Basic(VBA) 【Excel VBA】条件に合った行の表示・非表示を行う方法 3 2023/03/18 12:31
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- Word(ワード) 表の縦罫線を移動するピッチ 1 2022/10/12 12:24
- その他(gooサービス) 「補足」欄を「細く」することはできますか 3 2022/10/22 10:32
- iPhone(アイフォーン) お礼の仕方がわかりません!! iPhoneを使っているのですが、PC表示のやり方もよくわかりません。 2 2023/02/05 16:11
- Google Drive googleスプレッドシートで文章がセルにきれいに収まらなくて困っています 2 2022/07/31 16:00
- Chrome(クローム) Chrome 非表示のブックマーク 多量 下にスクロールするのに時間かかる 良い方法は 1 2023/01/16 23:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelでワードアートや図を常に...
-
PDFを(htmlのように)無限に縦...
-
エクセルVBAでフォームのListbo...
-
大きい表へのスクロールバーの...
-
Excelで1.2行目だけ固定して...
-
Excelで一部分だけを常に表示さ...
-
IFRAMEでscrolling="yes|no"の...
-
Excelの質問で票の途中に...
-
webページで横方向にアンカーを...
-
マウスホイールでスクロールで...
-
このサイトのスクロール逆じゃ...
-
リストビューをスクロールさせ...
-
ポストバック時のスクロール位...
-
Visual Basicから Spreadのスク...
-
resizeするとスマホで何度もリ...
-
文章の自動スクロール
-
ページ訪問時にiframe内を自動...
-
Excel VBAで、ユーザーフォーム...
-
アコーディオンで開かれたパネ...
-
リストビューのスクロールバー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでワードアートや図を常に...
-
エクセルVBAでフォームのListbo...
-
PDFを(htmlのように)無限に縦...
-
リストビューをスクロールさせ...
-
Excelで1.2行目だけ固定して...
-
Excelで一部分だけを常に表示さ...
-
大きい表へのスクロールバーの...
-
Visual Basicから Spreadのスク...
-
vb,netでtextboxの文字を右から...
-
ページ訪問時にiframe内を自動...
-
アコーディオンで開かれたパネ...
-
マウスオーバー→ホイール回転で...
-
webページで横方向にアンカーを...
-
リストビューの水平スクロール...
-
ExcelVBAで他のアプリをスクロ...
-
IFRAMEでscrolling="yes|no"の...
-
リストビューのスクロールバー...
-
ページ読み込み時に自動でスク...
-
子要素のスクロールが親要素に...
-
Webサイト内でスクロールする小...
おすすめ情報