Где хранятся строки параметров для комбинированного блока MFC? - PullRequest
2 голосов
/ 09 марта 2012

Учитывая файл ресурса, содержащий определение поля со списком, для программы C ++ MFC, есть ли способ программно получить строки параметров?

При определении диалогового окна в редакторе ресурсов Visual Studio параметры можно указать с помощью строки ; -delimited.Где хранятся эти строки?Я также понимаю, что можно программно добавлять строки в диалоговое окно во время инициализации диалога, получение их - другая история.

Тем не менее, моя проблема в том, что у меня нет доступа к объекту диалога, и он не виден в то время, когда я хочу получить строки параметров.Это вообще возможно?

1 Ответ

3 голосов
/ 09 марта 2012

Вы можете создать переменную-член для combobox или

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...