最新閲覧日:

VB5で5件のデータ表示サイズをもつリストボックスに
10件のデータを設定した場合にスクロールバーが表示
されますが、この画面を参照モードとして使用したい場合に
List1.Enabled=False
としました。しかし、この方法だとスクロールバーも
非活性となり、5件以降のデータが参照出来なくなります。
非活性にせず、参照モードの場合にはクリックイベント内で
List1.Selected(n)=False
Exit Sub
をして操作出来ない様にしました。しかし、これだと
リストボックスを選択した際に一瞬選択状態になってしまいます。
選択状態にしない方法、もしくは非活性のままスクロール出来る
方法を知っている方がいましたら、御教授下さい。

A 回答 (5件)

リストボックスのMultiLineを"0"にして


MouseDown と MouseUp の両方に
以下の記述をすれば解決します。

If Me.List1.ListIndex < 0 Then Exit Sub
Me.List1.Selected(Me.List1.ListIndex) = False

Clickイベントの中身は消してください。
一応前回と同じアドレスにサンプルがあります。
    • good
    • 0
この回答へのお礼

またまたサンプルありがとうございました。
でも、久々のZIPファイルでこの環境に
UNZIP32.DLLが無かったので泣けました(笑)
実はここまではたどり着いてまして、なんとか
これで勘弁してくれと言う感じで収めました。
しかし、これだとマウスの微妙な動きによって
ドラックイベントが走るのか、連打してると
”チカッ”となるんですよね。そこは許容して
貰いました。

お礼日時:2001/01/29 13:56

さらに追加です。


VB5のサンプルもアップしておきました。

あと、MultiSelectは設計時のみ変更可能です。
実行時に変更しようとするとエラーになります。

ひとつ気になったのが、選択状態とフォーカスの当たっている状態を間違えてはいないかという点です。
・選択状態はリストボックスのアイテムが反転表示。
・フォーカスの当たっている状態はアイテムの周りを罫線で囲っている。
フォーカスの当たっている状態のことを言っておられるなら、SetFocusで他のコントロールにフォーカスを移せば解消します(この時、選択状態は保持されます)

この回答への補足

サンプルありがとうございました。
質問した事を整理しますとですね、
選択時(クリック時)に、選択アイテムが
一瞬反転表示されるのが嫌なのです。
フォーカスがあるのも、少し嫌なのですが
優先順位としては”チカッ”っとなるのが
気になるのです。

補足日時:2001/01/25 10:16
    • good
    • 0

補足です。


今回サンプルとしてアップしたのはVB6なので、VBPが開けないかも知れません。
frmファイルをテキストエディタで開いてプログラム部分を貼り付けて実行してみてください。
    • good
    • 0

下記URLにサンプルを作ったので参考にして下さい。



参考URL:http://pony.kk-noa.co.jp/~unsei/
    • good
    • 0

クリックイベントで


Me.List1.Selected(Me.List1.ListIndex) = False(ikariさんの言う List1.Selected(n)=False )
の記述はいいと思うのですが、
ListBoxのMultiSelectを
1-標準 あるいは 2-拡張
にすれば選択が解除されます。

この回答への補足

Multiselectプロパティーは設計時のみ設定可能なものですよね?
クリックイベントで行なおうとすると実行時エラーもしくは
コンパイルエラーになるのですが??
ちなみに設計時は2-拡張にしています。
何か良い裏技があるのですか?
それでも、クリックした時点で選択状態にはなるので
クリックの中でやったのでは駄目なのですが。。。

補足日時:2001/01/18 14:57
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ