|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
||||
|
||||
Цитата:
Пишу программы за еду. __________________ |
#17
|
|||
|
|||
Как удалять ...
В TreeView есть событие OnDeletion(Sender: TObject; Node: TTreeNode); Вот у этого Node и надо удалять Data |
#18
|
||||
|
||||
Цитата:
Пишу программы за еду. __________________ |
#19
|
||||
|
||||
Цитата:
Код:
IFoo = interface ['{57B2E8F3-D285-4A43-BCDD-6EFECD76D654}'] end; TFoo = class(TInterfacedObject, IFoo) private FData: TObject; public constructor Create(const aObj: TObject); destructor Destroy; override; end; { TFoo } constructor TFoo.Create(const aObj: TObject); begin FData := aObj; end; destructor TFoo.Destroy; begin FreeAndNil(FData); inherited; end; function PenisCanis(const aData: TObject): IFoo; begin Result := TFoo.Create(aData); end; интерфейсы можно в листик добавлять. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#20
|
||||
|
||||
Цитата:
Код:
ListBox1.Items.AddObject('1', TObject(PenisCanis(nil))); Пишу программы за еду. __________________ |
#21
|
||||
|
||||
Цитата:
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#22
|
||||
|
||||
Цитата:
Цитата:
Пишу программы за еду. __________________ |
#23
|
||||
|
||||
Этот метод еще хорош тем, что можно не использовать try finally при применении его в локальных методах, особенно удобно если с динамической памятью работаешь, чтоб TMemoryStream в finally не пришибать.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#24
|
|||
|
|||
Здравствуйте, а как сделать так что бы можно было мышкой любой элемент Treeview перемещать из одного узла в другой???
|
#25
|
||||
|
||||
Цитата:
По TreeView - смотри свойства DragKind, DragMode и события OnStarDrag, OnEndDrag, OnDragDrop, OnDragOver. |
#26
|
|||
|
|||
Цитата:
|
#27
|
||||
|
||||
Цитата:
Код:
procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); var TreeView: TTreeView; SourceNode, TargetNode: TTreeNode; begin Accept := False; if Source is TTreeView then begin TreeView := Source as TTreeView; SourceNode := TreeView.Selected; if SourceNode <> nil then begin TargetNode := TreeView.GetNodeAt(X, Y); if TargetNode = nil then begin Accept := htNowhere in TreeView.GetHitTestInfoAt(X, Y); end else begin Accept := True; while TargetNode <> nil do begin if TargetNode = SourceNode then begin Accept := False; Break end; TargetNode := TargetNode.Parent; end; end; end; end; end; procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer); var TreeView: TTreeView; SourceNode, TargetNode: TTreeNode; begin if Source is TTreeView then begin TreeView := Source as TTreeView; SourceNode := TreeView.Selected; TargetNode := TreeView.GetNodeAt(X, Y); if SourceNode <> nil then SourceNode.MoveTo(TargetNode, naAddChild); end; end; |
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
tupetoner (30.08.2012)
|
#28
|
|||
|
|||
можно ли сделать что бы узел дерева одного приложения перетянуть мышкой в любой узел дерева другого приложения???
|
#29
|
|||
|
|||
poli-smen, а как сделать что бы по двойному щелчку мыши на определенном узле менялся размер шрифта, жирность и цвет узла и при повторном двойном щелчке на этом узле эти параметры возвращались к исходным???
|
#30
|
||||
|
||||
Цитата:
Смотри например такие компоненты: http://melander.dk/delphi/dragdrop Цитата:
|
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
tupetoner (01.09.2012)
|