procedure TForm1.TreeView1DblClick(Sender: TObject);
var
Node: TTreeNode;
begin
Node := TTreeView(Sender).Selected;
showmessage(Node.Text);
end;
Помогите с TreeView
Выбрав какой не будь итем, как иму зделать какое либо действие
А какие действия нужно сделать?
+123
|-------
|--- Событи при двайном клике
|-------
Мне просто нада знать как это происходит
Код:
Цитата: mfender
А F1 уже не помогает?
Этот код может подвести, если пользователь сделал двойной клик на пустом месте. Могу предложить такой вариант.
Код:
procedure TForm1.TreeView1DblClick(Sender: TObject);
var
Node: TTreeNode;
pt: TPoint;
begin
pt := TreeView1.ScreenToClient( Mouse.CursorPos );
Node := TreeView1.GetNodeAt( pt.X, pt.Y );
if Node <> Nil then
begin
ShowMessage( Node.Text );
end;
end;
var
Node: TTreeNode;
pt: TPoint;
begin
pt := TreeView1.ScreenToClient( Mouse.CursorPos );
Node := TreeView1.GetNodeAt( pt.X, pt.Y );
if Node <> Nil then
begin
ShowMessage( Node.Text );
end;
end;
Цитата: Sagittarius
Этот код может подвести, если пользователь сделал двойной клик на пустом месте.
Нет, не подведёт. Сработает всё-равно. Т.к. какой-нибудь нод выделен всегда.
Цитата: mfender
Нет, не подведёт. Сработает всё-равно. Т.к. какой-нибудь нод выделен всегда.
А если нодов нет вообще?
Даже если какой-то нод выделен, то это будет некорректный нод. Вот что я имел в виду.
Цитата: Sagittarius
А если нодов нет вообще?
Даже если какой-то нод выделен, то это будет некорректный нод. Вот что я имел в виду.
Даже если какой-то нод выделен, то это будет некорректный нод. Вот что я имел в виду.
Всё верно. Твой способ - правильный. Но автор хотел увидеть, как вообще отреагировать на события (на OnDblClick в частности).
Всем спасибо что помогли :)