Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.039 c
3-1098254258
Hmm
2004-10-20 10:37
2004.11.21
Помогите решить проблемму с запросом. Внешний ключ.


14-1099229867
Component
2004-10-31 16:37
2004.11.21
Помогите идеей компонента


3-1098431394
Andrey_
2004-10-22 11:49
2004.11.21
Перегенерация индексов


14-1099590506
ИМХО
2004-11-04 20:48
2004.11.21
Ясер Арафат is dead


3-1098502374
Vasis
2004-10-23 07:32
2004.11.21
Выборка по дате





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский