Delphi Tips 
-----------------------------

0316  D1   D2   D3   D4   D5   D6   D7   3.1   95   98    作成: 2002/05/17 osamu rev 1.1
   B1   B3   B4   B5   B6   B7   NT3   NT4   2K   XP  更新: 2002/05/17 osamu 編集
TreeView で D&D 中の描画処理

TreeView のアイテムをドラッグ・ドロップする際に、挿入位置をグラフィカルに表示するためのサンプルコードです。[Delphi-ML:67348] Halbow さん作。


procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
var
  AnItem: TTreeNode;
  r:TRect;
begin
  AnItem := TreeView1.GetNodeAt(X, Y);
  if not Assigned(AnItem) then exit;
  r := AnItem.DisplayRect(true);
  with TreeView1.Canvas do begin
    Brush.Color := TreeView1.Color;
    Pen.Color := clRed;
    Font := TreeView1.Font;
    TextRect(r,r.Left+2,r.Top+1,AnItem.Text);
    if (GetAsyncKeyState(VK_CONTROL) and $8000) = 0 then begin
      Brush.Style := bsClear;
      Rectangle(r.Left,r.Top,r.Right,r.Bottom)
    end else begin
      MoveTo(r.Left+1,r.Bottom-1);
      LineTo(r.Right-1,r.Bottom-1);
    end;
  end;
end;
参照: [Delphi-ML:67348] <Win95> <コンポーネント >

[新規作成] [最新の情報に更新]

How To
Lounge
KeyWords


Tips
Delphi
Home
Osamu Takeuchi osamu@big.or.jp