У меня есть приложение диалогового типа, которое включает MF C EditBrowse Control. Этот элемент управления включает значок папки / лупы справа, где пользователь должен щелкнуть, чтобы вызвать всплывающее окно браузера папок.
Значок этой папки / лупы правильно отображается в диалоговом редакторе Visual Studio, но во время выполнения он отображается как простая плоская кнопка. В противном случае он ведет себя правильно, то есть всплывающее окно браузера и выбранная папка отображается, когда пользователь нажимает кнопку ОК.
При запуске с отладчиком в окне вывода VS отображается сообщение о том, что «Не удается загрузить растровое изображение: 4299». Это сообщение отображается после строки CDialogEx :: OnInitDialog () в моем OnInitDialog ().
Я написал тестовые программы, и они правильно отображают значок. Я также добавил дополнительные элементы управления EditBrowse в моей исходной программе, но они сталкиваются с той же проблемой и просто добавили еще одну строку «не могу загрузить растровое изображение». Я также добавил другие элементы управления MF C, и некоторые из них также не отображают свои значки (или другие элементы).
Мне удалось немного повлиять на проблему, сделав вызовы EnableBrowseButton () и EnableFolderBrowswButton () из моего OnInitDialog. Если я это сделаю, я получу значок, который выглядит как 3 горизонтальные точки:
, что лучше, но я бы предпочел папку / лупу icon.
Это достаточно сложное приложение, я бы предпочел не переписывать его с самого начала и, более того, мне хотелось бы понять, что происходит. Я вполне уверен, что это результат добавления / удаления элементов управления по мере разработки приложения, но я не имею четкого представления о том, с чего начать отслеживать, где что-то пошло не так.
Мысли о том, как отлаживать это? Кстати, это VS 2010.