如何将treeview一个节点上的文字,拖拽到paintbox并显示?

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls, ComCtrls;type
      TForm1 = class(TForm)
        Image1: TImage;
        TreeView1: TTreeView;
        PaintBox1: TPaintBox;
        procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure PaintBox1DragOver(Sender, Source: TObject; X, Y: Integer;
          State: TDragState; var Accept: Boolean);
        procedure PaintBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      (Sender as TTreeView).BeginDrag(false);
    end;procedure TForm1.PaintBox1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    begin
      Accept := Source is TTreeView;
    end;procedure TForm1.PaintBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
    begin
      if (Source is TTreeView) then
      begin
        PaintBox1.Canvas.TextOut(X, Y, (Source as TTreeView).Selected.Text);
        (Source as TTreeView).EndDrag(True);
      end;
    end;end.
      

  2.   

    感谢 postren(小虫) 
    问题解决了