Summary: | Не отображается предварительный просмотр документов в диалоге открытия | ||
---|---|---|---|
Product: | [Поддержка проектов] КОМПАС 3D | Reporter: | Виталий Булгаков <bulgakov> |
Component: | Тестирование | Assignee: | Илья Шпигорь <shpigor> |
Status: | CLOSED FIXED | QA Contact: | Денис Баранов <baraka> |
Severity: | major | ||
Priority: | P4 | CC: | baraka, lav, mais, mx |
Version: | v10 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | 827 | |
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 753 |
Description
Виталий Булгаков
2009-09-02 17:51:20 MSD
Вариант исходников 2005 года для файловых диалогов: wine-etersoft-devel/stricted/KOMPAS/FileDialog Мы когда-то исправляли эту проблему для старых версий КОМПАС, но она проявляется опять. Возможно есть связь с # 827? Выложил патч. Контрол предварительного просмотра - это обычный Static. Ошибка в лишней перерисовки, которая возникает при обработке сообщения STM_SETIMAGE этим контролом. Компас пытается установить новый курсор и посылает STM_SETIMAGE с wParam = IMAGE_CURSOR. Но согласно MSDN если тип контрола не соответствует типу картинки - сообщение должно игнорироваться: http://msdn.microsoft.com/en-us/library/bb760782%28VS.85%29.aspx В данном случае картинка имеет тип IMAGE_CURSOR, а контрол SS_LEFT. Решение заключается в добавлении необходимых проверок в обработку сообщения STM_SETIMAGE. В патче есть небольшая недоработка. Проверка на стиль контрола уже есть в функциях STATIC_SetIcon, STATIC_SetBitmap и STATIC_SetEnhMetaFile. Необходимо решение исключающее лишние, дублирующие проверки. Выложил патч [TRY2]. Теперь проверка на соответсвие типа static контрола и картинки происходит только в STATIC_Set* функциях, как и раньше. В случае несоответствия типов, эти функции возвращают значение -1. Перед перерисовкой контрола это значение проверяется и если оно равно -1 - перерисовки не происходит. Отображается. WINE@Etersoft CAD 1.1.0 eter9/eter5 Принято. |