在form画面上放一个Splitter,把画面分成两部分,左边是一个属性列表,右边是一个GroupBox,我的想法是用户用鼠标选中树中的一个Item,拖动到GroupBox中释放鼠标,然后GroupBox中就有了这个Item的内容。主要是拖动过程怎么控制,怎么在GroupBOx中定位?在GroupBox中鼠标放下来我想可以通过动态产生一些东西(例如文字图片),等控件来显示拖过来的item的内容,可是拖动过程我不知道如何实现。恳请大侠帮忙!在线等,有源码最好,或者提供例子,

解决方案 »

  1.   

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      //TreeView1属性
    //  TreeView1.DragMode := dmAutomatic;  //GroupBox1属性、事件
    //  GroupBox1.DragMode := dmAutomatic;
    //  GroupBox1.OnDragOver := GroupBox1DragOver;
    //  GroupBox1.OnDragDrop := GroupBox1DragDrop;
    end;procedure TForm1.GroupBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
    begin
      OutputDebugStringA('22222222222222');  TGroupBox(Sender).Caption := Format('%d, %d: %s', [X, Y, TTreeView(Source).Selected.Text])
    end;procedure TForm1.GroupBox1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    begin  if Source is TTreeView then
      begin
        OutputDebugStringA('11111111111111');
        Accept := True
      end;
    end;
      

  2.   

    我直接拖动没有反应呀?有完整的例程吗?发给我看看。
    [email protected]
      

  3.   

    TreeView1和GroupBox1的属性DragMode都设置成dmAutomatic,然后在GroupBox1的OnDragOver事件和OnDragDrop事件中写下响应代码。
      

  4.   

    在拖动时,如果拖动节点内容为1,右边显示1对应的图片,如果是2,form右边显示2对应的图片,这样改怎么做,右边需要什么控件存储并显示图片?
      

  5.   

    动态创建时,可以用Timage吗?TImage中的图片是否一定要提前放进去。
      

  6.   

    动态创建Timage时怎么把图片放进去呢?
      

  7.   

    动态创建多个image时怎么,怎么区分呢?