Форум: "Основная";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
ВнизTreeView. Нужно, чтобы по DblClick узел не разворачивался... Найти похожие ветки
← →
blast © (2004-10-31 01:31) [0]Доброго времени суток, МАСТЕРА ДЕЛЬФИ :).
Вопросик такой: Есть дерево. Хочется сделать, чтобы по DblClick выполнялись действия и не происходило разворачивание\сворачивание узла у которого есть наследники.
← →
_def[eND]er (2004-10-31 01:39) [1]procedure TForn1.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
begin
AllowExpansion := False;
end;
А в OnDblClick просто вставляй нужный код.
← →
blast © (2004-10-31 02:10) [2]_def[eND]er.
Нужно еще чтобы дерево раскрывалось если не было DblClick...
← →
_def[eND]er (2004-10-31 02:19) [3]А по какому событию оно должно раскрываться?
А вообще так: TTreeNode.Expand
← →
blast © (2004-10-31 02:35) [4]Если Allow := False, то TreeView1.Expand(false); НЕ РАСКРЫВАЕТ УЗЕЛ...
Хорошо, как отловить нажатие на плюсик?
← →
Defunct © (2004-10-31 02:46) [5]blast © (31.10.04 02:35) [4]
может быть вам подойдет такое решение:procedure TForm1.TreeView1DblClick(Sender: TObject);
begin
If TreeView1.Selected.Expanded Then TreeView1.Selected.Collapse(False)
Else TreeView1.Selected.Expand(False);
// здесь ваша обработка dbl-click
end;
← →
_def[eND]er (2004-10-31 02:52) [6]Попробуй так:
var
UserExpanding, UserCollapsing: Boolean; // Эти переменные должны быть глобальными
procedure TForn1.Create(Sender: TObject);
begin
UserExpanding := False;
UserCollapsing := False;
end;
procedure TForn1.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
begin
AllowExpansion := UserExpanding;
UserExpanding := False;
end;
procedure TForn1.TreeView1Collapsing(Sender: TObject; Node: TTreeNode;
var AllowCollapse: Boolean);
begin
AllowCollapse := UserCollapsing;
UserCollapsing := False;
end;
procedure TForm1.TreeView1DblClick(Sender: TObject);
begin
// Твой код
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
UserExpanding := True;
TTreeNode.Expand();
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
UserCollapsing := True;
TTreeNode.Collapse();
end;
← →
_def[eND]er (2004-10-31 02:54) [7]На месте TTreeNode впиши ветку, которую надо обработать, или же имя твоего TreeView, если требуется свернуть/развернуть все дерево
← →
blast © (2004-11-05 22:34) [8]Всем спасиба за участие, проблемку решил созданием потомка TreeView и отловом сообщения:
procedure WMLButtonDblClk(var Message: TWMLButtonDblClk); message WM_LBUTTONDBLCLK;
Оно происходит ДО!!! Expand, DblClick и Collapse.
Там все и разрещается-запрещается. Добавил свойство AllowExpandByDblClick и живу спокойно.
Еще раз спасиба, тему можно закрыть...
Вот такие вот дела, Blast ;)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.043 c