C++ Builder Tips


TTreeViewでドラッグ&ドロップ中にスクロールする


OnDragOver中にスクロールメッセージWM_VSCROLLを送ります。SB_LINEUPは上方向に、SB_LINEDOWNは下方向にスクロールさせます。

void __fastcall TfMain::TreeViewDragOver(TObject *Sender, TObject *Source,
      int X, int Y, TDragState State, bool &Accept)
{
 if(Y<15)
 {
     SendMessage(TreeView->Handle,WM_VSCROLL,SB_LINEUP,0);
 }
 else if(TreeView->Height-Y < 15)
 {
     SendMessage(TreeView->Handle,WM_VSCROLL,SB_LINEDOWN,0);
 }
}


目次に戻る
Copyright(c) 2008 WoodenSoldier Software