Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 2606 - Курсор устанавливается неправильно при входе на редактирование таблицы   Make a simular bug
Summary: Курсор устанавливается неправильно при входе на редактирование таблицы
Status: CLOSED FIXED
Alias: None
Product: КОМПАС 3D
Classification: Поддержка проектов
Component: Тестирование (show other bugs)
Version: v10
Hardware: PC All
: P2 normal
Target Milestone: ---
Assignee: Илья Шпигорь
QA Contact: Денис Баранов
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 753 1733
  Show dependency treegraph
 
In work:
Reported: 2008-10-14 16:25 MSD by Виталий Булгаков
Modified: 2024-03-04 14:58 MSK (History)
4 users (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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