ホーム
Top.Mail.Ru Yandeks.Metrika
フォーラム: "Main";
現在のアーカイブ:2004.11.21;
ダウンロード:[xml.tar.bz2];

ダウン

ツリービュー ノードが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);
始まる
 AllowExpansion := False;
終わり

А в 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 全枝

フォーラム: "Main";
現在のアーカイブ:2004.11.21;
ダウンロード:[xml.tar.bz2];

2階





メモリ:0.57 MB
時間:0.059 c
1-1099565173
キャット
2004-11-04 13:46
2004.11.21
たとえば、番号54は0054と書き込みます


3-1098563512
Wint_
2004-10-24 00:31
2004.11.21
SQL構文にエラーがあります


14-1099647423
ヴェクナ
2004-11-05 12:37
2004.11.21
みんな笑って泣く!


1-1099640079
denis24
2004-11-05 10:34
2004.11.21
dbgrid ....タイトル


1-1100076201
hgd
2004-11-10 11:43
2004.11.21
フォルダから別のフォルダにすべてのファイルをコピーする方法





アフリカーンス語 アルバニア語 アラビア語 アルメニア語 アゼルバイジャン語 バスク ベラルーシ ブルガリア語 カタルーニャ語 中国語(簡体字) 中国語(繁体字) クロアチア語 チェコ語 デンマーク語 オランダ語 英語 エストニア語 フィリピン語 フィンランド語 フランス語
ガリシア語 ジョージアン ドイツ語 ギリシャ語 ハイチ語 ヘブライ語 ヒンディー語 ハンガリー語 アイスランド語 インドネシア語 アイリッシュ イタリア語 日本語 韓国語 ラトビア語 リトアニア マケドニア語 マレー語 マルタ語 ノルウェー語
ペルシア語 ポーランド語 ポルトガル語 ルーマニア語 ロシア語 セルビア スロバキア語 スロベニア語 スペイン語 スワヒリ語 スウェーデン語 タイ語 トルコ語 ウクライナ語 ウルドゥー語 ベトナム語 ウェールズ語 イディッシュ語 ベンガル語 ボスニア語
セブアノ語 エスペラント グジャラート語 ハウサ語 モン族 イボ ジャワ語 カンナダ語 クメール語 ラオ語 ラテン マオリ語 マラーティー語 モンゴル語 ネパール語 パンジャブ語 ソマリ タミル語 テルグ語 ヨルバ語
ズールー語
Английский Французский Немецкий Итальянский ポルトガル語 Русский Испанский