ComboBoxの使い方について – プログラミング – Home

ComboBoxの使い方について
 
通知
すべてクリア

[解決済] ComboBoxの使い方について


谷
 谷
(@谷)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

はじめまして。谷と申します。
過去ログを参考にしたんですが、よくわからなくて質問します。
VC++6 sp5 MFC win2000 sp2 です。
CComboboxをダイアログの上に貼り付けているのですが、
文字の追加してもみえません。

OnInitDialogの中で、

m_combo.AddString(aaa) ;

とかはちゃんと見えるのですが、できるのですが、

OnButtonStart() //(スタートボタンが押されたときの関数)の中で、
{
UpdateData() ;
CString str ;
m_combo.GetWindowText(str) ;
m_combo.AddString(str) ;

...

UpdateData(FALSE)
}

としても、AddString自体は実行されているようなのですが、
空欄になってしまいます。
(空欄が実行する度にどんどん増えていく感じです。)
その後その空欄を選択すると、選択されたものはやはり空欄です。

m_combo.UpdateData() (TRUE)も(FALSE)も試してみましたが
だめでした。

m_pathName.InsertString(-1,str) ;(-1)とか(0)とか(1)とかもだめです。

ComboBoxのスタイルはドロップダウン、オーナードローしないに
なってます。
m_comboはクラスウィザードからメンバ変数でコントロールで作りました。

要は入力した文字列をどんどんためていきたいのですが、何かやり方
間違っているのでしょうか。


引用未解決
トピックタグ
藤本(み)
 藤本(み)
(@藤本(み))
ゲスト
結合: 22年前
投稿: 7
 

m_combo.GetWindowText(str) ;
でstrにちゃんと文字列は入ってきますか?


返信引用
こん!
 こん!
(@こん!)
ゲスト
結合: 22年前
投稿: 11
 

コンボボックスのエディットボックスに入力してからスタートボタンとやらを押してます?


返信引用
谷
 谷
(@谷)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

レスありがとうございます。こんな時間に質問するほうも阿保なのですが、
頭爆発しそうになって今寝る前なのでまた明日お聞きします。
で、状況だけはご報告します。

>m_combo.GetWindowText(str) ;
>でstrにちゃんと文字列は入ってきますか?

はい。入ってきています。
実際のPGでは、

CFileFind find ;
if(find.FindFile(str) == 0 )
{
AfxMessageBox( パスが存在しません。) ;
return ;
}

と言う風になっています。(ちゃんと通過してます。)

>コンボボックスのエディットボックスに入力してからスタートボタンとやらを押してます?

押したので、空欄が挿入されています。

上記のif文を取っ払ったりして(もちろん他の部分も取っ払って)、
質問の個所だけにしても同じ状況なんです。

明日もう一度、新しいプロジェクトで試してみようと思います。
それでも同じ症状のときにまたここで質問させてください。

夜分遅くすみませんでした。


返信引用
藤本(み)
 藤本(み)
(@藤本(み))
ゲスト
結合: 22年前
投稿: 7
 

void CDlg::OnBnClicked()
{
UpdateData();
CString str;
m_IDC_COMBO1.GetWindowText( str );
m_IDC_COMBO1.AddString( str );
UpdateData(FALSE);
}

↑こんな感じで試してみましたが、正常に動きますよ。
UpdateData()はあってもなくても動きます。


返信引用
谷
 谷
(@谷)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

お騒がせしました。解決いたしました。ただの凡ミスでした。

strの部分が PathName だったのですが、
AddStringしていたのが FileName でした。

先ほど見たらすぐに気づきました。やっぱり夜更かしは良くないですね。

藤本(み)様、お手数を煩わして本当にすみませんでした。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました