実行時にスライダコントロールをスクロールまたはクリックすると
つまみの数値がツールヒントとして表示されますが、
その数値が邪魔です。
ツールヒントを非表示(非表示が無理なら任意の文字列)にする方法を教えてください。
環境:VB6.0 SP5 Windows XP
例えば0から100までの値のスライダーを作るとして、
10で割れない値のところにスライダーを動かしたくない!
ということなんでしょうか?
ツールヒントを非表示にするならAPIで最初からスライダーを作ってしまえば
できそうな気もしますが、決められた値のみのに設定するなら、
VBで実現できます。
スライダーコントロールのScrollイベントなら、スクロールした直後に発生しますので、他の値を無視することが可能だと思います。
Private Sub Slider1_Scroll()
If Slider2.Value <> 0 Then
If Slider2.Value Mod 10 = 0 Then
slval = Slider2.Value
Else
Slider2.Value = slval
End If
Else
slval = 0
End If
End Sub
※slval はGenealに宣言しないと初期化するたびに0になってスライダが動きません
サンプルのイベントが Slider1 なのに
コード内は Slider2 になってました〜〜
| 柱 |ヽ(-∀-;) 反省
>slval はGenealに宣言しないと初期化するたびに0になってスライダが動きません
変数のスコープは狭いに越したことはありませんから、
こういう用途の場合、プロシージャ内でStaticで宣言・定義するのがいいでしょう。
スライダーコントロールのTextプロパティをセットすると任意の文字列を表示できます。
長さ0の文字列(vbNullString)を指定するとValueの値を表示するように戻せます。
僕も以前同じことを考えまして、
その時は『Microsoft Windows Common Controls 5.0 (SP2)』のコンポーネントを使用しました。
このコンポーネントだと数値は表示されませんので。
ひょっとしたらなにか問題あるのかもしれませんが、現状では何も問題なく動いています。
VB6.0 SP5、Win2000
ツイート | ![]() |