- ベストアンサー
トラックバーのつまみを動かせない
トラックバーの範囲を設定するときに最大値を98304以上にするとトラックバーのつまみを動かせなくなるのですが、これはトラックバーの仕様なのでしょうか? これ以上の値を設定しても正常に動かす方法があったら教えてください。 <最大値の設定部分> InitCommonControls(); SendMessage(hbar,TBM_SETRANGE,TRUE,MAKELPARAM(0,98304)); --- 実行環境 --- Microsoft Visual C++ 2010 Express WIN32 ユニコードビルド C言語
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
TBM_SETRANGEの説明(英文)が下記URLにあります。 https://msdn.microsoft.com/ja-jp/library/windows/desktop/bb760221(v=vs.85).aspx ここで、 > Because this message takes two 16-bit unsigned integer values, the maximum range that this message can specify is from 0 to 65,535. To specify larger range values, use the TBM_SETRANGEMIN and TBM_SETRANGEMAX messages. という解説がされています。範囲の指定が16ビット値2つになっているので、指定できる範囲が0~65535になる。この範囲を超える値を指定するには、TBM_SETRANGEMINとTBM_SETRANGEMAXを使って最大値・最小値を別々に指定するようです。
お礼
回答ありがとうございました。教えていただいた方法で解決しました。