コンボボックスの追加 – プログラミング – Home

通知
すべてクリア

[解決済] コンボボックスの追加


まる
 まる
(@まる)
ゲスト
結合: 23年前
投稿: 45
Topic starter  

かなりの初心者なのですが質問があります。今既存のDlg.cppにコンボボックスを追加し
ようとしています。
Dlg.Cppに関数としてコンボボックスのリストを追加する関数作っているのですが
Insertstringをするとエラーが起きてしまいます。

void ~SetDlg::ComboCondition()
{
m_cmb.InsertString(-1,test);
}

もともとあるやつにコンボボックスを貼り付けて変数の追加をし名前をm_cmbとしました。
手探りで作っているのですが、よく分からなくなってきました。。どうかお願いします。


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> Insertstringをするとエラーが起きてしまいます。

質問ヘタすぎ。
「エラーが起きてしまいます」だけじゃわかりません。

コンパイル・エラーですか? 実行時エラーですか?
どんな症状(エラーメッセージ)ですか?


返信引用
まる
 まる
(@まる)
ゲスト
結合: 23年前
投稿: 45
Topic starter  

すいませんでした。仰るとおりですね。
エラーは実行時におきます。
メッセージは以下の通りです。
For information on how your program can cause an asertion failure,
see the Visual C++ documentation on asserts.
です。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

- そのエラーはどの行で発生していますか?
- ~SetDlg::ComboCondition() は何時呼びましたか?
 ダイアログが画面に現れる以前だと(コンボボックスは未だ世の中に存在しないのだから)
エラーが起こってアタリマエですよ?


返信引用
まる
 まる
(@まる)
ゲスト
結合: 23年前
投稿: 45
Topic starter  

MFCATL\ship\atlmfc\include\afxwin2.inl の 761行目
確かにdlg.DoModalでダイアログを表示させる前にやろうとしていたみたいです。


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

> ダイアログを表示させる前にやろうとしていたみたいです。
DoModalしないと、ダイアログ上のコントロールつまりコンボボックスはまだ作られてい
ないことになります。
コンボボックスもない状態で追加はできません。
(紙がないのに字はかけないということ)

ダイアログを表示する(DoModalする)前に、直接設定せずに
もろもろの情報を渡してあげて、ダイアログを表示した後にその情報からコンボボック
スを設定するようなつくりに変えないとダメでしょう。


返信引用
まる
 まる
(@まる)
ゲスト
結合: 23年前
投稿: 45
Topic starter  

Blue様ありがとうございます。
処理の流れも追えてない状態で質問をしたようで申し訳ございませんでした。

よろしければ質問なのですが、今iniファイルからリストの項目となるデータを構造体に
取り込んで
そのデータをリストとして表示させたいと考えています。

iniファイルからのデータの取得は出来ているのですが、そこからリストの表示が上手く
いっていません。
アドバイスを受けましたので、そのデータを渡してダイアログ表示後コンボボックスを設
定するように作らないといけないと言う事は分かったのですが

>もろもろの情報を渡してあげて、ダイアログを表示した後にその情報からコンボボック
スを設定するようなつくりに変えないとダメでしょう。

のイメージがいまいち沸きません。DoModal後にAddstringなどを行うと言う事でしょうか?


返信引用
三草
 三草
(@三草)
ゲスト
結合: 19年前
投稿: 56
 

1.サブダイアログ(でいいのかな?)の変数に「もろもろの情報」を渡しておく
2.サブダイアログのOnInitDialog()内で、「もろもろの情報」を
  コンボボックスに追加する
3.メインダイアログでサブダイアログをDomodalする
4.コンボボックスに表示される

でいかがでしょう


返信引用
まる
 まる
(@まる)
ゲスト
結合: 23年前
投稿: 45
Topic starter  

三草様ありがとうございます。
その手順で色々調べつつ一度挑戦してみようかと思います。
ご丁寧にありがとうございます。


返信引用
まる
 まる
(@まる)
ゲスト
結合: 23年前
投稿: 45
Topic starter  

チェックを入れるのを忘れていました。
皆様どうもありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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