воскресенье, 10 августа 2014 г.

][аки. Как в контроле визуализировать число типа 10 в минус 5 степени?

В принципе запись с экспонентой решит проблему, т.е. запись вида 10e-5 будет корректно отрабатываться при конвертации типов. Для текущей же задумки с отображением степени вверху требуется перерисовывать на Canvas-е контрола свой текст с нужной визуализацией в требуемых местах. Контрол может быть любой, не только окно ввода, но и например ячейки таблицы. При этом, в перерисовку приложения и в метод отслеживания изменений содержимого контрола добавим вызов процедуры 'drawedit(edit1)' (см. код под катом). Если запись в ваш контрол идет вручную без мантиссы 'e', то обычное отображение - при наборе 'e' идет имитация каретки. Преимущество данного подхода в том, что сохраняется возможность беспроблемной конвертации типов из текста в визуальном контроле при независимом его отображении.