スライダコントロールのツールヒントを非表示にするには


GEN  2002-11-12 23:55:28  No: 105417

実行時にスライダコントロールをスクロールまたはクリックすると
つまみの数値がツールヒントとして表示されますが、
その数値が邪魔です。
ツールヒントを非表示(非表示が無理なら任意の文字列)にする方法を教えてください。

環境:VB6.0 SP5 Windows XP


なおみん  2003-01-09 16:19:59  No: 105418

例えば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になってスライダが動きません


なおみん  2003-01-09 16:22:55  No: 105419

サンプルのイベントが Slider1 なのに
コード内は Slider2 になってました〜〜
| 柱 |ヽ(-∀-;) 反省


Say  2003-01-09 17:47:49  No: 105420

>slval  はGenealに宣言しないと初期化するたびに0になってスライダが動きません

変数のスコープは狭いに越したことはありませんから、
こういう用途の場合、プロシージャ内でStaticで宣言・定義するのがいいでしょう。


takk  2003-01-09 19:05:35  No: 105421

スライダーコントロールのTextプロパティをセットすると任意の文字列を表示できます。
長さ0の文字列(vbNullString)を指定するとValueの値を表示するように戻せます。

僕も以前同じことを考えまして、
その時は『Microsoft Windows Common Controls 5.0 (SP2)』のコンポーネントを使用しました。
このコンポーネントだと数値は表示されませんので。
ひょっとしたらなにか問題あるのかもしれませんが、現状では何も問題なく動いています。

VB6.0 SP5、Win2000


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加