| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Вставить и EditBox в TTreeNode |
| Автор: Ibragim 1.10.2004, 12:36 |
| Всем день добрый. Не надоел со своими вопросами? На сегодня вопросик такой: Есть MyTTreeNode = class(TTreeNode) Нужно добиться такого поведения: Оставить ее родной TTreeNode.Text где ему и полагается жить, а справа от этого текста в runtime (например, по нажатию кнопки) создать маленький EditBox и перевести этот EditBox в режим ввода - то есть чтобы пользователь сразу по созданию начинал туда вводить что-то. Может ли посоветовать мне что-либо глубокоуважаемый All? Спасибо за внимание. |
| Автор: Dynamic 1.10.2004, 16:51 |
| Если необходимо в этом эдите редактировать текст узла, то может лучше переводить узел в стандартный режим редактирования (Node.EditText)?? |
| Автор: Guest 1.10.2004, 17:05 |
| лчно я просто размещал едит в нижней части формы и делеал его Enabled := false как только юзер тыкает на caption узла делал его енайбл = труе |
| Автор: p0s0l 1.10.2004, 23:34 |
| Можешь либо динамически создавать и уничтожать TEdit, либо держать один Edit, но делать его видимым/невидимым. 1. Отлавливаешь нажатие кнопки (напр., OnKeyPress или KeyPress) 2. Делаешь видимым / создаешь TEdit 3. Задаёшь у него координаты так как тебе надо ( Rect1 := TreeView1.Selected.DisplayRect(False) - получаешь прямоугольник, охватывающий выбранный итем, правее его ставишь Edit) 4. Устанавливаешь на него фокус ввода: Edit1.SetFocus 5. Тут юзер вводит данные 6. При выходе из Edit'а или по нажатию Enter (или еще какие события),прячешь / освобождаешь Edit Про динамическое создание компонент - см. DRKB... |
| Автор: Ibragim 2.10.2004, 15:48 |
| Как всегда спасибо to pOsOl - так и сделал. Динамически создаю edit, b Edit1.SetFocus. Все и работает. Пасиба за помощь |