質問

質問者:C-Disney アップダウンコントロールについて
困り度:
  • すぐに回答を!
現在私はWINAPI32を用いてプログラミングの学習をしています。
そこで私の作成した簡単なプログラムに、アップダウンコントロールを追加したいと思い、
http://www.kumei.ne.jp/c_lang/sdk3/sdk_204.htm
のページを参照して作成してみました。

ところが私の作成したアップダウンコントロールはウインドウにちゃんと表示はされているものの、矢印の上下ボタン(?)を押しても値が1から一向に変化しません><;

このHPに書いてあるプログラムをそっくりそのままコピペしてみると、しっかりと動きます。
私のプログラムのどこかが悪いのですが、このHPのソースと比較してもどうしてもエラー箇所が見つけられません!泣

このHPのように親ウインドウにアップダウンコントロールを作成した時、私のようなエラーが発生したときの考えられる原因がありましたら、教えていただけないでしょうか!?
よろしくお願い致します!!
質問投稿日時:07/01/23 16:46
質問番号:2689793
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

良回答10pt

回答者:stiffels UpDownのWindowメッセージはちゃんとWndProc関数に来ていますか?
デバッグで確認して、もしメッセージが来ていないのであれば
ID_UPDOWN(hMenu)の定義やWM_NOTIFYメッセージでの受け取り方がおかしい
かもしれません。

WinAPIでWindowsアプリを勉強するのであれば
Windowメッセージを理解することが肝心ですよ。
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:07/01/23 17:10
回答番号:No.1
この回答へのお礼お返事ありがとうございます!
まだまだ学習が足りない自分が恥ずかしいです。
アドバイスありがとうございました!!

回答

良回答20pt

回答者:Oh-Orange ★『アップダウン・コントロール』の注意点。
・このコントロールは面白く、↑矢印でダウンして、↓矢印でアップします。
・このため 1 以上の値にはなりません。つまり、範囲が 1〜100 で 1 以下にも
 なりませんから 0 にも変化がおきません。
・それではどうやって↑矢印でアップ、↓矢印でダウンにするのでしょうか?
・ここがポイントですね。
・『猫でもわかるプログラミング』を知っているので次の第205章を参照して下さい。
 ​http://www.kumei.ne.jp/c_lang/sdk3/sdk_205.htm​→『第205章 ダイアログボックス上のアップダウンコントロール』
・ここに UDM_SETRANGE というメッセージについて書かれているので、これを使って
 範囲設定をします。
・このメッセージで範囲設定すると『↑矢印でアップ、↓矢印でダウン』という
 逆転の動作になります。面白いでしょう。動作が。

設定サンプル:
SendMessage( hUpdown, UDM_SETRANGE, 0, MAKELPARAM(10,1) );
SendMessage( hUpdown, UDM_SETRANGE32, (WPARAM)1, (LPARAM)10 );

最後に:
・上記の2行はメッセージの違いによる指定を表しています。
・よって、どちらか一方を記述します。お好きな方を選択して記述して下さい。
・私は、簡単に設定できる UDM_SETRANGE32 のメッセージを使っています。
・また、1 が最小値、10 が最大値を表しています。
・以上。おわり。
種類:回答
どんな人:専門家
自信:自信あり
回答日時:07/01/23 17:33
回答番号:No.2
参考URL: http://www.kumei.ne.jp/c_lang/sdk3/sdk_205.htm
この回答へのお礼アドバイスありがとうございます!
プログラムはとても奥が深いので、毎日たいへんです><
これからも頑張って行きたいと思います!
ありがとうございました!!
最新から表示回答順に表示良回答のみ表示