質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MFC

MFC (Microsoft Fouondation Class)とは、MicrosoftがVC++用に開発したWindows用アプリケーションのフレームワークです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

4494閲覧

MFC ComboBoxについて

NaokiPooh

総合スコア21

MFC

MFC (Microsoft Fouondation Class)とは、MicrosoftがVC++用に開発したWindows用アプリケーションのフレームワークです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2016/11/10 05:58

編集2016/11/10 06:12

お世話になっております。
C++を学習中の学生です。
ダイヤログベースの住所録アプリを作成中です。

コンボボックス(中身は1~10の文字列)で重複選択できないような処理を実現させようと思っております。
処理の流れとしては、
送信ボタン押下→コンボボックスで選択された値をstrNoに格納→比較用にm_NoにstrNoを格納→ListControlに表示
m_No == strNoだった時エラーメッセージを表示させOK押下後送信処理を止めたい(直前の処理に戻す?)

以下該当ソース

C++

1//------------// 2//Noの所得 // 3//------------// 4 CString strNo; 5 if( m_No == strNo ) 6 { 7 if(MessageBox("Noが重複しています!","†警告†", MB_OK | MB_ICONQUESTION == IDYES)) 8 { 9 ; 10 } 11 } 12 m_Combo.GetLBText(m_Combo.GetCurSel(),strNo); 13 m_No = strNo; 14 strcpy_s( head->data.no, strNo );

上の処理を実現させるにはこのifの中身にはどんな処理を記述すればよろしいのでしょうか。
OnOK();以外で実現できますでしょうか?

追記:この処理だと絶対メッセージを吐いてうまくいかないですねorz
上記のような処理をさせるうまい方法はありますでしょうかorz

ご教授のほどよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

送信ボタンをクリックした際のイベントなのだから
returnで戻ればいいだけでは?
OnOKではソフトの作り次第ではソフト終了してしまう。

m_NoはリストのNoが文字列で入っているということ前提で

C++

1 CString strNo; 2 m_Combo.GetLBText(m_Combo.GetCurSel(),strNo); 3 4 if( m_No == strNo ) 5 { 6 MessageBox("Noが重複しています!","†警告†", MB_OK | MB_ICONSTOP); 7 return; 8 } 9 10 m_No = strNo; 11 strcpy_s( head->data.no, strNo );

投稿2016/11/10 06:14

編集2016/11/10 06:16
ardin

総合スコア544

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

NaokiPooh

2016/11/10 06:19

回答ありがとうございました! 上記の内容で期待していた処理を実現することができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問