рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Procedure TTreeViewForm.AddButtonClick(Sender: TObject); var

Procedure TTreeViewForm.AddButtonClick(Sender: TObject); var - раздел Образование, Дерево элементов TTreeView Captionstr:string; Newnode:ttreenode; Begin...

CaptionStr:String; NewNode:TTreeNode;

begin CaptionStr:=''; if not InputQuery('Ввод имени', 'Введите заголовок элемента',CaptionStr) then exit;

NewNode:=TreeView1.Items.Add(TreeView1.Selected, CaptionStr);
if NewNode.Parent<>nil then
NewNode.ImageIndex:=1;
end;

Здесь я объявил две переменные: CaptionStr типа строка String и NewNode типа TTreeNode. Тип TTreeNode – это тип отдельного элемента дерева элементов.

В первой строчке кода я обнуляю строку CaptionStr. Эта строка в будущем будет использоваться для хранения имени будущего элемента дерева.

Вторая строка имеет следующий код:

if not InputQuery('Ввод имени', 'Введите заголовок элемента', CaptionStr) then

exit;

Здесь выполняется функция InputQuery, которая используется для вывода на экран окна ввода. У этой функции есть три параметра:

1. 1. Заголовок окна ввода.

2. 2. Текст-пояснение, которое подсказывает пользователю, что ему надо вводить.

3. 3. Строковая переменная, в которой мы передаём значение по умолчанию и получаем результат ввода. Если перед вызовом записать в эту переменную какое-нибудь значение, то оно будет использоваться в качестве значения по умолчанию. Но после вызова этой функции этот параметр всегда хранит реально введённое пользователем значение.

 

На рисунке 11.19.2 ты можешь увидеть это окно ввода.

Если окно было закрыто не кнопкой ОК, то происходит выход из процедуры. Об этом говорит наша конструкция:

if not InputQuery(…) then

exit;

Следующая строка кода добавляет новый элемент в наше дерево:

NewNode:=TreeView1.Items.Add(TreeView1.Selected, CaptionStr);

У компонента TreeView1 есть свойство Items в котором хранятся все элементы дерева. Это свойство имеет объектный тип TTreeNodes. Чтобы добавить туда новый элемент, нужно вызвать метод Add объекта Items. Получается, что в объекте TreeView1 есть ещё один объект Items в котором хранятся все элементы. Мы уже сталкивались с такими случаями, когда внутри одного объекта был другой объект.

У метода Add есть два параметра:

1. 1. Элемент, к которому надо добавить новый. Здесь я передаю выделенный элемент (TreeView1.Selected).

2. 2. Заголовок нового элемента.

 

Результат выполнения этого метода – указатель на новый элемент. Этот результат мы сохраняем в переменной NewNode. Теперь мы можем изменять и другие значения этого элемента. Например, как в следующем коде я буду изменять картинку:

if NewNode.Parent<>nil then
NewNode.ImageIndex:=1;

Здесь идёт проверка, если свойство Parent нашего дерева не равно нулю (т.е. компонент не является верхним в дереве), то изменить значение ImageIndex созданного нами элемента на 1 (по умолчанию это значение 0).

По нажатию кнопки «Добавить элемент» пишем следующий код:

var CaptionStr:String; NewNode:TTreeNode;

begin CaptionStr:=''; if not InputQuery('Ввод имени подэлемента',


 

 

'Введите заголовок подэлемента',CaptionStr) then exit;

NewNode:=TreeView1.Items.AddChild(TreeView1.Selected, CaptionStr); if NewNode.Parent<>nil then NewNode.ImageIndex:=1;

Здесь код практически тот же, что и для кнопки «Добавить». Единственная разница в том, что при добавлении нового элемента мы используем метод AddChild. Отличие этого метода от просто Add заключается в том, что он добавляет дочерний элемент. Например, если ты выделил в списке какой-то элемент и передал его в качестве первого параметра в AddChild, то новый элемент будет как бы подчиняться выделенному. При использовании метода Add новый элемент будет находиться на одном уровне дерева с переданным в качестве первого параметра.

Теперь напишем код для кнопки «Добавить»:

if TreeView1.Selected<>nil then TreeView1.Items.Delete(TreeView1.Selected);

Здесь нужно удалить выделенный элемент, поэтому сначала я проверяю, есть ли вообще выделенный элемент в дереве:

if TreeView1.Selected<>nil then

Если такой элемент есть, то выполниться следующий код:

TreeView1.Items.Delete(TreeView1.Selected);

Здесь мы используем метод Delete объекта Items, чтобы удалить элемент дерева. В качестве параметра надо передать элемент, который мы хотим удалить (я передаю выделенный TreeView1.Selected.

Для кнопки «Изменить заголовок» мы напишем следующий код:

– Конец работы –

Эта тема принадлежит разделу:

Дерево элементов TTreeView

Дерево элементов TTreeView...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Procedure TTreeViewForm.AddButtonClick(Sender: TObject); var

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

CaptionStr:String; begin
CaptionStr:=''; if not InputQuery('Ввод имени',   'Введите заголовок элемента',CaptionStr) then exit;

Private
{ Private declarations } function AddFile(FileMask: string; FFileAttr:DWORD): Boolean; Объяви эту процедуру так же и потом нажми клавиши Ctrl+Shi

ListView1.Items.EndUpdate; // Прорисовываем все изменения сразу
С этим разобрались, можно ехать дальше. После вызова BeginUpdate я очищаю текущий список элементов с помощью вызова ListView1.Items.Clear. Далее идёт цикл поиска файлов, с ко

Implementation
Я специально объявил их там, чтобы показать тебе, как можно пользоваться функциями не принадлежащими ни одному объекту. Здесь функция SlashSep объявлена не внутри объекта, значит она никому

Implementation
Я специально объявил их там, чтобы показать тебе, как можно пользоваться функциями не принадлежащими ни одному объекту. Здесь функция SlashSep объявлена не внутри объекта, значит она никому

Begin //Если да, то прибавить имя выделенной директории к пути //и перечитать файлы из неё.
Edit1.Text:=Edit1.Text+ListView1.Selected.Caption+''; AddFile(Edit1.Text+'*.*',faAnyFile) end else //Если нет, то это файл и я его запускаю.

Private
{ Private declarations } procedure ShowHint(Sender: TObject); Имя процедуры может быть и другим (например MyShowHint) но параметр должен б

Procedure TForm1.ShowHint(Sender: TObject); begin
StatusBar1.SimpleText := Application.Hint; end; Итак, наша процедура должна будет вызываться каждый раз, когда надо вывести подсказку. Внутри процедуры мы присваиваем в св

Procedure TForm1.ShowHint(Sender: TObject); begin
StatusBar1.Panels[1].Text := Application.Hint; end; Здесь я присваиваю текст сообщения (Application.Hint) в свойство Text первой панели строки состояния.

R:TRect; begin if ToolBar1.HostDockSite<>ControlBar1 then
begin GetWindowRect(ToolBar1.Handle, R); Application.MessageBox(PChar(IntToStr(r.Left)+'--'+IntToStr(r.Top)), 'MM',IDOK); end; end; В первой стро

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги