現在VC++のWin32アプリケーションを用いて、エデイットボックスの数字を取り込み、各計算を行った後、別のエデイットボックスへ書き込むことを考えております。
整数値ですと、GetDlgItemInt(〜)&SetDlgItemInt(〜)を用いることで問題ないのですが、浮動小数を使うにはどのようにすればよろしいのでしょうか?
GetDlgItem関数はint型とchar型しか扱えないのでしょうか?
(文字列を扱うとかいてありますし・・・)
もし、そうでしたら、浮動小数を扱う時は何を使用すれば宜しいのでしょうか?
MFCの場合の対処方法はホームページ等に載っているのですが・・・。
初歩的な質問で申し訳ありませんが、宜しくお願いいたします。
浮動小数を文字列に変換してから、文字列としてエデイットボックスに設定します。
逆の場合も文字列として取り込んで、浮動小数に変換します。
GetDlgItem/SetDlgItem系の関数はプログラマが楽を出来るようにあるというだけの話で
これを使わないと操作が出来ないという事はありません。
例えば、各コントロールのポインタをGetDlgItemで取得して
GetWindowTextで文字列を取り込み、それをatoiやstrtol等で変換すれば、
GetDlgItemIntと同等の事が出来ます。
逆に言うとこの辺の処理を内部的にやってくれているわけで
用意されていないのであれば、自分でやればいいわけです。
特に自分で数値化したときのエラーを処理したい場合などはGetDlgItemIntでは
詳しいエラーが出せませんからGetDlgItemIntは使わずに自分で処理する事に
なります。
ユーザーに優しいソフトを作ろうと思えば、それだけ色々と細かい処理が必要な訳で
そういうなってくるとだんだんお手軽関数では処理しきれなくなってきますので
基本的な機能を組み合わせて実現する方法を覚えていかないと困ることになります。
REEさん、PATIOさん有難うございました。
REEさんの方法で無事解決しました。
すいません、解決にチェックするの忘れてました。
ツイート | ![]() |