Диалоговое окно MFC, в котором не отображаются строки параметров ресурса в выпадающем списке

#combobox #mfc #visual-studio-2017

#выпадающий список #mfc #visual-studio-2017

Вопрос:

Я знаю, что вы собираетесь попросить пример, который вы можете попробовать, но мне трудно это сделать. Извините….

У меня есть диалоговое окно MFC, и я недавно добавил комбинированный элемент управления:

 COMBOBOX        IDC_COMBO_PUBLISHERS_TO_DISPLAY,44,18,107,46,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
  

Изначально я добавил 3 текстовых параметра в поле данных:

1;2;3

Я убедился, что область выпадающего списка достаточно высока для просмотра всех строк. Тем не менее, когда я его компилировал, содержимое не было видно. В итоге я удалил строки из раздела данных и просто добавил их вручную.

Можете ли вы придумать параметр, который мог бы вызвать эту проблему?

DLGINIT Раздел:

 IDD_DIALOG_PUBLISHERS_DATABASE DLGINIT
BEGIN
    IDC_COMBO_PUBLISHERS_TO_DISPLAY, 0x403, 2, 0
0x0031, 
    IDC_COMBO_PUBLISHERS_TO_DISPLAY, 0x403, 2, 0
0x0032, 
    IDC_COMBO_PUBLISHERS_TO_DISPLAY, 0x403, 2, 0
0x0033, 
    IDC_COMBO_GENDER, 0x403, 8, 0
0x7242, 0x746f, 0x6568, 0x0072, 
    IDC_COMBO_GENDER, 0x403, 7, 0
0x6953, 0x7473, 0x7265, "00" 
    IDC_COMBO_SERVING_AS, 0x403, 10, 0
0x7550, 0x6c62, 0x7369, 0x6568, 0x0072, 
    IDC_COMBO_SERVING_AS, 0x403, 16, 0
0x6552, 0x7567, 0x616c, 0x2072, 0x6970, 0x6e6f, 0x6565, 0x0072, 
    IDC_COMBO_APPOINTED_AS, 0x403, 14, 0
0x6f4e, 0x2074, 0x7061, 0x6f70, 0x6e69, 0x6574, 0x0064, 
    IDC_COMBO_APPOINTED_AS, 0x403, 20, 0
0x694d, 0x696e, 0x7473, 0x7265, 0x6169, 0x206c, 0x6573, 0x7672, 0x6e61, 
0x0074, 
    IDC_COMBO_APPOINTED_AS, 0x403, 6, 0
0x6c45, 0x6564, 0x0072, 
    0
END
  

Комментарии:

1. Visual Studio хранит данные инициализации в другом месте в файле *.rc, они могут быть помечены как "//Dialog Info" Редактор ресурсов может запутаться, если вы измените идентификатор элемента управления. Я думаю, что данные инициализации не могут быть в Юникоде, поэтому это не так уж полезно.

2. @BarmakShemirani Да, я узнал это о Unicode за эти годы. В итоге я все равно перестроил комбинации из переведенных данных STRINGTABLE. Но переводчику всегда было удобно видеть эти строки в контексте в диалоговом окне, даже если они не поддаются переводу (в appTranslator). Я полагаю, возможно, я переименовал combo и вызвал путаницу. Хотя я мог видеть записи в области инициализации. Думаю, мне просто придется оставить это.