tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルMSFGridについて
記事No12072
投稿日: 2008/04/22(Tue) 09:54
投稿者480
参考にさせてもらっています。
VB6 xpで開発を行っている者です。

MSFGridについての質問です。
ファイル検索ツールを作成中ですが、検索結果をMSFGridに表示させていますが、
仮にMSFGridをデフォルトで15行に設定をとし、検索結果に応じて自動的に行を増やすという事は可能でしょうか?

[ツリー表示へ]
タイトルRe: MSFGridについて
記事No12074
投稿日: 2008/04/22(Tue) 11:05
投稿者ダンボ
> 仮にMSFGridをデフォルトで15行に設定をとし、

デザイン時には15行で設定したと言うことですよね。

> 検索結果に応じて自動的に行を増やすという事は可能でしょうか?

それができないと不便すぎて売り物にならないでしょう。
.AddItemで行を増やしながら同時に行内容を設定するか、
.Rowsプロパティに数値を入れて空行を作ってから行内容を設定するか。

[ツリー表示へ]
タイトルRe^2: MSFGridについて
記事No12077
投稿日: 2008/04/22(Tue) 11:44
投稿者480
ダンボさん、レス有難うございます。

仮に検索結果をカウントiとして、For文を使って
検索結果に応じてセル(Row)を表示できないかと考えていましたが、上手く出来ませんでした。
この方法では難しいですか?

[ツリー表示へ]
タイトルRe^3: MSFGridについて
記事No12079
投稿日: 2008/04/22(Tue) 12:23
投稿者ダンボ
> 検索結果に応じてセル(Row)を表示できないかと考えていましたが、上手く出来ませんでした。
> この方法では難しいですか?

480 さんがどこで躓いているか分かりません。

MSFGridの使い方については、まさに花ちゃんさんのこのサイトに説明が充実しているので、
それらを読んで試してから、本題に戻った方がいいと思いますよ。
http://hanatyan.sakura.ne.jp/vbhlp/MSFlexind.htm

[ツリー表示へ]
タイトルRe^4: MSFGridについて
記事No12082
投稿日: 2008/04/22(Tue) 13:16
投稿者480
ダンボさん、有難うございます。
説明が上手く出来ず申し訳ないです。

Rowプロパティに限っての話ですが、デフォルト設定の行数を結果に応じて検索結果分だけ行数を増やしていくということは、行数を挿入していくような感じで考えていいのでしょうか?

[ツリー表示へ]
タイトルRe^5: MSFGridについて
記事No12084
投稿日: 2008/04/22(Tue) 14:42
投稿者ぶぶ
ダンボさんの
>MSFGridの使い方については、まさに花ちゃんさんのこのサイトに説明が充実しているので、
>それらを読んで試してから、本題に戻った方がいいと思いますよ。
>http://hanatyan.sakura.ne.jp/vbhlp/MSFlexind.htm
は見てみましたか?
一回一回挿入するのもありだし、検索結果分が分かっていれば、わかった段階で
行を増やすのもありでしょう。
どこで詰まっているのかわかりません。

花ちゃんのサンプルMSFlexGrid関係に目を通してみてください。

[ツリー表示へ]
タイトルRe^6: MSFGridについて
記事No12093
投稿日: 2008/04/22(Tue) 17:39
投稿者480
ぶぶさん、レス有難うございます。

If "*" = LCase(Ext) Or LCase(extFile) = LCase(Ext) Then      
        With searchResult
            .TextMatrix(iCount, 0) = iCount           'No
            .TextMatrix(iCount, 1) = dirFile.Name     'ファイル名
            .TextMatrix(iCount, 2) = myFolder         'パス名
            iCount = iCount + 1
            .Rows = iCount + .Rows                    'Rows
            .ColWidth(2) = 5000                       'Cols
        End With
    End If

上記で検索結果表示数をiCountとして、表示される分Rowsを増加させているのですが、同時に空白のセルが余計に検索結果表示数の倍近く表示されてしまいます。
原因がなかなか掴めず、躓いています。

[ツリー表示へ]
タイトルRe^7: MSFGridについて
記事No12095
投稿日: 2008/04/22(Tue) 19:21
投稿者花ちゃん
>             iCount = iCount + 1
>             .Rows = iCount + .Rows                    'Rows

上記の部分の変数の値を確認して下さい。
この処理はループで回しているのですよね。

[ツリー表示へ]
タイトルRe^7: MSFGridについて
記事No12096
投稿日: 2008/04/22(Tue) 20:15
投稿者ダンボ
>             iCount = iCount + 1
>             .Rows = iCount + .Rows                    'Rows
> 空白のセルが余計に検索結果表示数の倍近く表示されてしまいます。

ここがなかなか楽しい(本人は苦しい)ところになっています。
理由がわかれば480 さんも笑ってしまうと思いますが。

ステップモードでループを2〜3回りさせて、その間の変数値・プロパティ値
を見て、ご自分の予想通りかどうか確認すればよいです。

[ツリー表示へ]
タイトルRe^8: MSFGridについて
記事No12100
投稿日: 2008/04/23(Wed) 12:05
投稿者480
ダンボさん、花ちゃんさん、レス有難うございます。

> >             Dim rCount As Integer                     'カウンタ
                rCount = 1
> >             .Rows = rCount + .Rows                    'Rows

ステップモードで確認したところ、増加値がとんでもないことになっていたので
1で固定したのですが、まだ空白が出ます。

惜しい所まで来てるでしょうか?
全然遠いですか?

[ツリー表示へ]
タイトルRe^9: MSFGridについて
記事No12101
投稿日: 2008/04/23(Wed) 12:29
投稿者花ちゃん
> 1で固定したのですが、まだ空白が出ます。
> 惜しい所まで来てるでしょうか?
> 全然遠いですか?

1桁の足し算位は自分でできませんか?

表示してから、1行追加している事は、理解されていますか?

[ツリー表示へ]
タイトルRe^9: MSFGridについて
記事No12102
投稿日: 2008/04/23(Wed) 13:19
投稿者ぶぶ
返事遅くなってしまいました。
rcountという変数は何のためにある変数でしょうか。
また.rowsというプロパティは何を設定するところでしょうか。
このへんを考えていくと何かみえてくるかも・・・

[ツリー表示へ]