![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Grag&Drop в TreeView [D7, WinXP]
Lamer666 © (2007-09-30 11:39:00)Снова ДОБРОГО времени суток уважаемые.
Снова сталкнулся с проблемой при DragAndDrop в TreeView.
Перетаскиваю элемент в TreeView, как узнать в какую "ПАПКУ" в TreeView я отпустил "перетаскивыемый" элемент? примного благодарен.
И еще один вопрос до кучи, если кто знает, как организовать перебор всех выделенных значений в DBGrid? Там есть DbGridEh1.SelectedRows, но вот как перебрать конкретные поля в выделенном списке что то ненашел. Спасибо большое всем!
Lamer666 (2007-09-30 13:19:00) [1]Большое спасибо. Очень признателен!
engine (2007-09-30 12:40:00) [2]The following code uses GetNodeAt to add a dragged node as a child of the node under then mouse when it is dropped.
procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
AnItem: TTreeNode;
AttachMode: TNodeAttachMode;
HT: THitTests;
begin
if TreeView1.Selected = nil then Exit;
HT := TreeView1.GetHitTestInfoAt(X, Y);
AnItem := TreeView1.GetNodeAt(X, Y);
if (HT [htOnItem, htOnIcon, htNowhere, htOnIndent] HT) then
begin
if (htOnItem in HT) or (htOnIcon in HT) then AttachMode := naAddChild
else if htNowhere in HT then AttachMode := naAdd
else if htOnIndent in HT then AttachMode := naInsert;
TreeView1.Selected.MoveTo(AnItem, AttachMode);
end;
end;
© Borland Delphi Help
Lamer666 (2007-09-30 12:20:00) [3]А как БЫТЬ с Drag Drop? Как узнать узел TreeView куда бросили объект?
Lamer666 (2007-09-30 11:56:00) [4]Спасибо engine!!!!
engine (2007-09-30 11:40:00) [5]The following example copies the selected rows in a db grid to a list box.
procedure TForm1.Button1Click(Sender: TObject);
var
i, j: Integer;
s: string;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
for j := 0 to FieldCount-1 do
begin
if (j>0) then s:=s+', ';
s:=s+Fields[j].AsString;
end;
Listbox1.Items.Add(s);
s:= '';
end;
end;
© Borland Delphi Help