天使と悪魔選手権

質問させてください。プログラム初心者です><
私は現在、WIN32APIでトラックバーをCreatWindowEX関数などを用いて作成しました。
そこで、そのスライダーの範囲を
hTrack=CreateWindowEX(・・・・);
SendMessage(hTrack1, TBM_SETRANGE, (WPARAM)TRUE, (LPARAMMAKELPARAM(11, 15));
としました。

しかしこの実際にできあがったトラックバーを、
左側が15で、右にスライドさせてくにつれて、最後は11の値になるようにしたいのですが、どうしたらよいのでしょうか?
よろしくお願いいたします!

A 回答 (1件)

★ちょっとしたアイデアで解決できると思います。


・『トラックバー』の内部的な数値は 0 ~ 4 の移動量にしてから、
 取得するときに 15 という数値から 0 ~ 4 の移動量を引き算すれば
 15 ~ 11 に変換できます。
・つまり、内部の数値と表示部の数値を上手く引き算で対応させるのです。
・また、トラックバーにツールチップを自動的に表示する場合は、表示が
 0 ~ 4 になってしまうので無効に設定して下さい。
 どうしても数値のツールチップを出したいときは、『トラックバー』の
 コントロールを『サブクラス化』して自分で処理させますが、初心者さん
 ということなのでいずれ『サブクラス化』をお勉強したときに改良して
 見て下さい。
・以上。おわり。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
おかげさまですぐに解決できました。
サブクラス化まで理解できるよう、がんばっていきたいとおもいます!

お礼日時:2007/01/24 18:45

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


おすすめ情報