2012-03-09 44 views
1

C++ MFCプログラムのコンボボックス定義を含むリソースファイルがある場合、プログラムでオプション文字列を取得する方法はありますか?MFCコンボボックスのオプション文字列はどこに保存されていますか?

Visual Studioリソースエディタでダイアログを定義するときに、; - デリミタ付き文字列でオプションを指定できます。これらの文字列はどこに格納されていますか?ダイアログの初期化中にダイアログボックスに文字列をプログラムで追加することもできますが、それを取得することは別の話です。

しかし私の問題は、私はダイアログオブジェクトにアクセスできないということです。また、オプション文字列を取得したいときには表示されません。それも可能ですか?

答えて

2

あなたは、文字列リソースファイル自体に格納されているオプションをコンボボックスのためのメンバ変数を作成したり、

CComboBox* pBoxOne; 
pBoxOne = (CComboBox*) GetDlgItem(IDC_COMBO1); 

    CString str, str2; 
    int n; 
    for (int i=0;i < pBoxOne->GetCount();i++) 
    { 
    n = pBoxOne->GetLBTextLen(i); 
    pBoxOne->GetLBText(i, str.GetBuffer(n)); 
    str.ReleaseBuffer(); 

    str2.Format(_T("item %d: %s\r\n"), i, str.GetBuffer(0)); 
    afxDump << str2; 
    } 

ことができます。オプション1,2,3、リソースファイルのエントリが追加されました

IDD_MFC_DIALOG_DIALOG DLGINIT 
BEGIN 
    IDC_COMBO1, 0x403, 2, 0 
0x0031, 
    IDC_COMBO1, 0x403, 2, 0 
0x0032, 
    IDC_COMBO1, 0x403, 2, 0 
0x0033 
END 
+0

RCファイルのデータから文字列値を解析する方法があれば、どんな考えですか? –

+0

IDを使用して文字列にアクセスすることを意味しますか? – Jeeva

+0

はい、それは本当に便利でしょう –

関連する問題