• 締切済み

スピンボタンとエディットボックスの連携

VC++でスピンボタンを押すと値が1増えて、それが計算式に反映され、エディットボックスの値を変えるとそれも計算式に反映される。 というスピンボタンとエディットボックスを連携したプログラムの作成が上手くいきません。 エディットボックスのメッセージは何を用いればいいのでしょうか。具体的にはエディットボックスに値を入力し、エンターキーをクリックした時にすぐに計算式を実行できるようにしたいのですができません。そのやり方がわかりません。 できたとしてもスピンボタンとの連携が上手くいきません。何かよい方法はないか教えてください。

みんなの回答

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

>具体的にはエディットボックスに値を入力し、エンターキーを >クリックした時にすぐに計算式を実行できるようにしたい >のですができません。 値をエディットボックスから取得できないということですか? MFC使ってますか?WindowsSDKだけで開発してますか? >できたとしてもスピンボタンとの連携が上手くいきません。 >何かよい方法はないか教えてください。 連携も何も、プロパティを設定するだけですが。 これではだめですか? http://www.alpha-net.ne.jp/users2/uk413/vc/VCT_Spin.html

関連するQ&A

  • VC++ MFC スピンボタンについて

    VC++ .NET2005でプログラムを作成中です。 スピンボタンで「1~100」までを指定するものがあり、 ※スピンボタン(IDC_SPIN1)、エディットボックス(IDC_SPNED1) スピンボタンで指定されたものを別のエディットボックス(IDC_EDIT1)内に「0」を指定分CStringで表示したいです。 例: スピンボタンで5を指定 ↓ 00000 スピンボタンで15を指定 ↓ 000000000000000 どのようなプログラムにしたらよいのでしょうか? よろしくお願いします。

  • スピンボタンの制御

    VCにて、ダイアログにエディットボックスとスピンボタンのセットを複数配置したプログラムを作成しているのですが、スピンボタンの単位を-1.0~1.0と0.1刻みとしたいので、設定範囲を-10~10としOnVScroll()にて1/10して対応するエディットボックスに表示しようと試行錯誤中ですが、どのスピンボタンが押下されたか判断する知識ありません。コントロール識別子(nID)が判れば編集して、対応するエディットボックスにSetDlgItemTextで設定できるのですが、OnVScroll()の引数からnIDの取得方法を教えていただけないでしょうか。

  • MFCのエディットボックスの値をスピンボタン

    エディットボックスの値をスピンボタンの初期値にしたく、 下記コーディングにしたのですが CString Item; m_Spin->SetPos(((CEdit*)GetDlgItem(IDC_EDIT1))->GetWindowText(Item)); SetPos' : 1 番目の引数を 'void' から 'int' に変換できません。 とのエラーになります。 どのように変更したらよいかお教えください。

  • MFCのスピンボタンで自動関連しないで設定

    MFCのスピンボタンで自動関連指定しないでエディットボックスと関連させる 方法を教えてください。 目的 初期値はエディットボックスに表示してある。 スピンボタンを押す度にエディットボックスの値が変化する。

  • VC++6.0 エディットボックス、スピンコントロールについての質問

    VC++中の下ぐらいの技術者です。 エディットボックスにfloat型のメンバ変数を関連付けて使っています。 しかし、実際に値を打ち込むときに小数点、つまり「.」キーを押すと、 エディットボックス内でカーソルが先頭に戻ってしまいます。 これは直せませんか? また、スピンをエディットボックスのタブオーダーの次に配置し、プロパティのスタイルで 「自動関連付け」と「数値の自動表示」にチェックを入れたら、 そのコントロールが配置されたダイアログを表示するとエラーで表示できません。 これらの原因、解決方法の分かる方ご教授お願いします。

  • エディットボックスの処理で画面がちらつきます。

    VC++ 6.0 Win32APIにてダイアログベースのプログラムを作成しております。 ダイアログに18個のエディットボックスを配置しておりますが、そのエディットボックスのテキストを SetDlgItemText()を使って全て空欄にすると(第3引数に””を指定)画面がちらつきます。 同ダイアログ内のリストコントロールがダブルクリックされた際のイベントを拾ってエディットボックスクリアの処理を実行しているのですが、ちらつきを抑える手法はありますでしょうか?

  • スピンボックスについて

    C#ではスピンボタンで数値を入力できる「スピンボックス」をNumericUpDownコントロールで使用することができましたが、Javaでそれに当たる操作を見つけることができません。 具体的には、数字の幅は1から100程度、一つのウィンドウにスピンボックスを2つ配置しそこに書かれた数字を整数型としてそれぞれ読み取ってプログラム内で利用したいと考えています。 参考サイトでもいいので、Javaでのスピンボックスの利用方法を教えてください。よろしくお願いします。

    • ベストアンサー
    • Java
  • VC++のエディットボックスの非表示

    VC++で、ダイアログを作りました。 エディットボックスを置いているのですが、 このエディットボックスは始めは非表示(入力を受け付けない)にするため、 このエディットボックスのプロパティにある "Disable"をtrueにして"Visible"もtrueにしました。 そこまではよかったのですが、 「入力」ボタンを押すと、エディットボックスが白く表示され、入力を受け付けるというようにしたいのですが、 エディットボックスのプロパティを変更する関数というのはあるのでしょうか? いろいろ検索などをしているのですが、方法がわかりません。よろしくお願いします。

  • 初回のスピンボタンの挙動

    下記コードを記入し、スピンボタンの増加をクリックすると 最初の一回目に触った時のみ値がマイナスされる現象がでます。 なぜでしょうか? 1)INIファイルから値を読み込みエデットボックスに表示する。 2)スピンボタンの増加をクリックすると、最初の一回目に触った時のみ値がマイナスされる (エデットボックスの値が50だとすると49になる) 3)再度INIファイルから値を読み込みエデットボックスに表示する。 4)二回目からマイナスされない。 (エデットボックスの値が50だとすると51になる) スピンボタンのOnDeltapos UDACCEL stUD; stUD.nSec = 1; stUD.nInc = 1; // ここで変化量設定 CSpinButtonCtrl* m_Spin=(CSpinButtonCtrl*)GetDlgItem(IDC_SPIN1); m_Spin->SetRange32(0,300); //レンジ CString str; ((CEdit*)GetDlgItem(IDC_EDIT1))->GetWindowText(str);//エディットから文字列を int a=atoi(str);//文字列を数字に変換 m_Spin->SetPos(a); //初期値 m_Spin->SetAccel(1,&stUD);//変化量 m_Spin->SetBuddy((CSpinButtonCtrl*)GetDlgItem(IDC_EDIT1));//エディットに関連付け 環境 Windwos XP,Microsoft Visual C++ 6.0

  • エディットボックスのカーソルが表示されない

    長いこと悩んでいますが、解決出来ないでいます。 お知恵を拝借したいと思います。 VC5.0, SDK, WinXPでの開発を行っています。 今、リストビューで直接書き込みをさせる為に、 リストビューのクリックされた位置にエディットボックスをかぶせて表示させてあたかも直接編集させているように見せています。 実際のエディットボックスの表示や書き込み等はうまく行っているのですが、表示したエディットボックスにSetFocusをしても、カーソルが表示される場合とされない場合が出てきています。 親画面を表示し、最初にリストビューをクリックした時のエディットボックスにはきちんとカーソルが表示されます。 しかし、2度目以降はまったくカーソルが表示されません。 ただ、フォーカスはあたっているのか、文字入力は正しく行われます。 また、エディットボックスでリターンキーを押されたタイミングでエディットボックスを破棄し、リストビューに文字列を反映させているのですが、このリターンキー押下後にエディットボックスを表示させた時はカーソルも表示されます。 エディットボックスの破棄には、上記リターンキーもしくはエディットボックスからフォーカスが無くなった時に行っているので、 この時の破棄のタイミング等の問題でカーソルが出たり出なかったりしているのだろうと色々調べているのですが、どうしても分かりません。 実際エディットボックスにフォーカスが当たっていればカーソルは自動的に出るものだと思っていたのですが、出ないという現象は何に問題があるのでしょうか? エディットボックス有効処理 Show( SW_SHOW ); BringWindowToTop( hwnd ); SetFocus( hwnd ); エディットボックス破棄(無効)処理 Show( SW_HIDE ); アドバイスを宜しくお願い致します。