• ベストアンサー

GetAt・SetAtを用いてエディットボックスに表記するにはどうすれば良いでしょうか?

VC++の初心者です。エディットボックス1で"ON"または"OFF"を入力し、エディットボックス2に"ON"の場合は1を表記し、"OFF"の場合は2をGetAt・SetAtを用いて、表記させたいのですが。初歩的な質問ですみませんが、どうぞよろしくお願い致します。

  • YZ80
  • お礼率22% (13/58)

質問者が選んだベストアンサー

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

void CMyDialog::OnButton1Click() { UpdateData(TRUE); if( m_strEdit1 == _T("ON") ) { m_strEdit2 = _T("1"); } else if( m_strEdit1 == _T("OFF") ) { m_strEdit2 = _T("2"); } UpdateData(FALSE); } みたいにすれば、平気かな?

YZ80
質問者

お礼

taka tetsuさん色々とご教示くださいましてありがとうございました。ご教示頂いたソースをヒントに自分なりに動かして見ました。まだ、不完全ですがかなり前向きになりました。本当にありがとうございました。

その他の回答 (2)

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

で、肝心なことを。 CString::GetAt()はともかく、SetAt()を使う意味は? 使うところがわからないのですが。 SetAt()は1文字しか置き換えられませんけど。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vclib/html/vclrfCSimpleStringTSetAt.asp

YZ80
質問者

補足

何をやりたいかと言いますと、エディットボックスに固定文字を入力し、その結果をETH経由で別のボードのCPUのアドレス値を変更したいと言う内容です。アドレス値は固定なので、データ値を必要時に変更するという内容です。 よって、現時点では"ON"or"OFF"と言うような表現をさせて頂いてますが、データ変更が一番の目的です。やりたい事は言えるのですが、これをコード化するのが出来なくてすみません。よろしくお願い致します。

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

エディットボックス2への変更はリアルタイムですか? それともプッシュボタンを押したとき等ですか? どちらの場合でも、処理を行いたいときのイベントハンドラを作成し、 UpdateData()を使ってエディットボックスの値の取得、反映をしてください。

YZ80
質問者

補足

ご教示ありがとうございます。 イベント発生は"ON”or"OFF"を入力後、プッシュボタンを押下時にそれぞれ"1"or"0"としたいので、リアルタイムではありません。 初心者のため変な質問で申し訳ありません。また、内容を参考に挑戦してみます。

関連するQ&A

  • VC++のエディットボックスの非表示

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

  • エディットボックスの非表示方法

     はじめまして。  プログラミング初心者です。  エディットボックスの非表示方法について教えてください。  現在、MFCによる、スケジュール管理システムを作成中です。クライアント/サーバ型で行っています。  クライアントの画面において、スケジュールを見ることが可能です。ただ、変更や追加などを行うときは、ID、パスワードを入力してログインする必要があります。  そのログイン方法は、スケジュールを見る画面にIDとパスワードのエディットボックスがありますので、そこに入力し、サーバでID、パスのチェックを行い一致すると、ログイン状態になり、ログオフボタンが表示されます。  しかし、IDとパスのエディットボックスは表示されたままになります。  その表示を非表示に切り替えたいのですがどのようにしたらいいのかわかりません。  開発環境は、Windows2000およびWindowsNTです。  ツールはVC++6.0です。  よろしくお願いします。

  • エディットボックスの改行について

    よろしくお願いいたします。 環境 WIN98 VC++6.0 MFC にて 改行が可能なエディットボックスのデータをテキストファイルに保存すると、エディットボックスと同様に改行されて保存されます。 ファイルからデータを読出し、エディットボックスに表示する場合もちゃんと改行されていて問題ありません。 ここで、エディットボックスが2つあり、それぞれのエディットボックスのデータが2行あったとすると、ファイルには4行保存されます。 次にファイルからデータを読出し、エディットボックスに表示する場合、1個目のエディットボックスのデータが2行と分かっていれば良いのですが、そうでない場合は何行読み出してエディットボックスに表示すれば良いか分かりません。 そこで、1個目のデータを保存する時に、最終行の次の行にendという文字を保存することにしました。 これで、読み出すときはendを目印に必要な行数を読み出せます。 しかしながら、エディットボックスの文字の中にたまたまendが使われるとうまく行きません。 長くなりましたが、このような場合、一般的にはどのようにして対処すれば良いのでしょうか? お分かりの方よろしくお願いいたします。

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

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

  • VC++2010 エディットボックス 数値検出

    VC++2010 エディットボックス 数値検出について質問なんですが、 そういう関数とかありますか?  数値が0.01~65536まで入力される仕様になっており 文字列を受信したら無効にするようにしたいのですが よろしくお願いします

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

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

  • エディットボックスで改行

    お世話になっております。 VC++でプログラムを組んでおり、下記の要領でエディットボックスに文字を表示しています。 _itoa(inputData[i], receivedChar, 16 );//数値を文字列に変換 SetDlgItemText(argThr1->hWnd, IDC_EDIT2, receivedChar); このとき、エディットボックス内で、任意の位置で改行しながら表示する方法はありますでしょうか? よろしくお願い致します。 表示例 ABC(改行) DEF(改行)

  • VC++2010 MFC エディットボックスの質問

    VC++2010 MFC エディットボックスの質問なんですが、 バリュー型変数を使わないでどうやったら配列(char型8byte(unsigned char[8]))の中身すべてをエディットボックスにいれて表示することができますか?よろしくお願いします。配列の中身は文字もあったりします

  • エディットボックスのカーソル取得方法

    複数のエディットボックスがあり、マウスで選択したエディットボックスに文字列を表示させたいのですが、うまくいきません。使用ツールはVC++です。

  • VC++2010 エディットボックスのリードオンリ

    現在は私はVC++2010 MFCでアプリケーションを開発しています。 エディットボックスのプロパティにリードオンリーの機能があるんですが、 プログラムで実現しようとするとどのようにしたらよろしいのかわかりませんでしたので 質問させていただきました。 ではよろしくお願いします

専門家に質問してみよう