Bug 2606

Summary: Курсор устанавливается неправильно при входе на редактирование таблицы
Product: [Поддержка проектов] КОМПАС 3D Reporter: Виталий Булгаков <bulgakov>
Component: ТестированиеAssignee: Илья Шпигорь <shpigor>
Status: CLOSED FIXED QA Contact: Денис Баранов <baraka>
Severity: normal    
Priority: P2 CC: kondratyuk, lav, mais, mx
Version: v10   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 753, 1733    

Description Виталий Булгаков 2008-10-14 16:25:17 MSD
1. Запустить КОМПАС
2. Файл - Создать - Чертеж - Ок
3. Навести указатель на большую ячейку таблицы внизу основной надписи чертежа (штампа) и выполнить даблклик
Произойдет вход в режим редактирования основной надписи (штампа), при этом курсор отрисуется слева вверху таблицы, а должен в ячейке, на  которой делался даблклик.
Если нажать кнопку Увеличить масштаб или Уменьшить масштаб (или покрутить колесо мыши) то курсор перерисуется в правильном положении.
Comment 1 Илья Шпигорь 2009-05-21 13:26:31 MSD
Выложил патч.

При переходе в режим редактирования штампа происходит позиционирование каретки с помощью функции SetCaretPos. После этого создается панель свойств основной надписи. На этой панели есть edit контролы. При создании каждого edit контрола устанавливается его размер и вызывается функция EDIT_AdjustFormatRect, которая в свою очередь устанавливает положение каретки для текущего edit контрола.
В результате, т.к. каретка на все эти edit контролы и основную надпись одна, она неверно позиционируется.

Решение заключается в том, чтобы проверять в функции EDIT_AdjustFormatRect имеет ли текущий edit контрол фокус ввода. Если нет - каретка все равно не отобразится, а ее позиционирование произойдет при получении контролом фокуса.
Comment 2 Денис Баранов 2009-07-29 21:08:00 MSD
Принято
WINE@Etersoft CAD eter2.1/eter2