|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Tstringgrid и фокусы
Товарищи, помогите, пожалуйста, советом и объясните что происходит.
На всякий случай приложил скрин запущенного приложения. Задача. Есть Tstringgrid и окошечко Tmaskedit, где вводится число. по нажатии кнопки клавиатуры в Tmaskedit, число строк в Tstringgrid меняется. это готово. При этом, если строки, где были ячейки,заполненные значениями, убрались в результате умеьшения числа строк, то такие ячейки должны быть очищены от значений. это тоже сделано. НО! не подчищается 1 ячейка, на которой был последний ввод значения. Я думал, что дело в фокусе последней ячейки. попробовал менять фокус принудительно на другую ячейку свойством sg.Selection := TGridRect( Rect(x1,y1, x1,y1) ) , а потом уже зачищать значение. Оказалось что у сетки есть что то типо 2 фокусов. выделяются они по разному (можно видеть на скрине). Белый - где был последний ввод значения, и где не получается зачистить значение,и синий -получившийся от selection. Помогите решить проблемку и понять что к чему.Спасибо тем, кто дочитал! |
#2
|
|||
|
|||
На всякий случай, что я имею ввиду
1. делаем в сетке 5 строк 2. вводим с формы, в какой либо столбец значение '666' во все строки, начиная с первой строки заканчивая последней(например) последняя выделенная ячейка в 5ой строке 3.затем, обработчиком какого либо события подчищаем циклом все ячейки прямым указанием пустыми значениями stringgrid.cells[x,y]:=''; 4. результат: все ячейки пустые, а в 5ой строке, значение осталось. его видно и на форме и оно находится в свойстве cells сетки. Вопрос: как его от туда убрать, не уничтожая сетку? |
#3
|
|||
|
|||
Если кому интересно, дело было в свойстве Tstringgrid.Options , значение
[goAlwaysShowEditor] Если его убрать то, ячейка зачищается нормально. Всем спасибо |
#4
|
||||
|
||||
Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |