アプリ版:「スタンプのみでお礼する」機能のリリースについて

windowsアプリケーションで0.0から1.0までの間の値を100目盛り間隔で決定するスライダーを作成したいのですが、スライダーを動かすと細かい値が設定できずが0から1、また1から0へいきなり跳んでしまいます。
色々パラメータを変えて試したところ、どうも小数点以下の値をスライダーで決定することが出来ないようでした。
どうすれば小数点以下の値を決定できるスライダーを作成できるのでしょうか?


初期設定時のコードは以下のような形です。

HWND hSlider;
hSlider = GetDlgItem( hDlg, IDC_SLIDER );
SendMessage( hSlider, TBM_SETRANGE, FALSE, MAKELPARAM( 0.0, 1.0 ) );//最小値 最大値
SendMessage( hSlider, TBM_SETPAGESIZE, 0, 0.1 );//クリック時移動量
SendMessage( hSlider, TBM_SETTICFREQ, 100, 0 );//目盛り間隔
SendMessage( hSlider, TBM_SETPOS, TRUE, 0.5 );//初期位置

A 回答 (1件)

100倍の下駄履かせる。

とかでしょうかねぇ……。

WM_HSCROLLやTRBN_THUMBPOSCHANGINGで受け取れるPOSを100で割って使用する。
ということになるかと。
# 故に…TBM_SETBUDDYでの設定は厳しいので、対応するEDITBOXのテキスト変更通知に反応してスライダーの位置を設定する。などの処理が必要かと。

http://social.msdn.microsoft.com/Forums/vstudio/ …
C#ですが、似たような対応…となっているようで。
    • good
    • 0
この回答へのお礼

ご教授頂いた方法で実装できました。ありがとうございました。

お礼日時:2014/02/17 14:34

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