當前位置:編程學習大全網 - 編程語言 - DELPHI基礎教程:Delphi拖放編程[2]

DELPHI基礎教程:Delphi拖放編程[2]

  拖放方法

 拖放方法有三個

 ●BeginDrag : 人工方式下開始壹個拖動

 ●EndDrag : 結束壹個拖動

 ●Dragging : 判斷壹個控件是否正被拖動

 這三個方法都被源控件使用

 當DragMode置為dmManual時 拖動必須調用控件的BeginDrag方法才能開始 BeginDrag有壹個布爾參數Immediate 如果輸入參數為True 拖動立即開始 光標改變到DragCursor的設置 如果輸入參數為False 直到用戶將光標移動了壹定的距離( 個象素點)後才改變光標 開始拖動 這就允許控件接受壹個OnClick事件而並不開始拖動操作

 EndDrag方法中止壹個對象的被拖動狀態 它有壹個布爾參數Drop 如果Drop設置為True 被拖動的對象在當前位置放下(能否被接受由目標控件決定) 如果Drop設置為False 則拖動就地被取消

 下面壹段程序表明當拖動進入壹控制面板時拖動被取消

 procedure TForm Panel DragOver(Sender Source: TObject; X Y: Integer;

 State: TDragState; var Accept: Boolean)

 begin

 Accept := False;

 if (Source is TLabel) and (State = dsDragEnter) then

 (Source as TLabel) EndDrag(False)

 end;

 Draging方法判斷壹個控件是否正被拖動 在下面的例子中當用戶拖動不同的檢查框時窗口改變為不同的顏色

 procedure TForm FormActivate(Sender: TObject)

 begin

 CheckBox DragMode := dmAutomatic;

 CheckBox DragMode := dmAutomatic;

 CheckBox DragMode := dmAutomatic;

 end;

 procedure TForm FormDragOver(Sender Source: TObject; X Y: Integer;

 State: TDragState; var Accept: Boolean)

 begin

 if CheckBox Dragging then

 Color := clAqua;

 if CheckBox Dragging then

 Color := clYellow;

 if CheckBox Dragging then

 Color := clLime;

 end;

  開發拖放功能的壹般步驟

 拖放作為Windows提供的壹種方便操作對象的功能 在Delphi中可以很容易地開發出來 根據拖放操作的過程可以把開發步驟劃分為四個階段 即

 ● 開始拖動操作

 ● 接收拖動項目

 ● 放下拖動項目

 ● 終止拖動操作

 在介紹過程中我們將結合壹個TabSet(標簽集)的拖放操作實例 界面設計如圖 在運行時當用戶把壹個標簽拖動到另壹個標簽的位置時 該標簽將移動到該位置並引起標簽集的重新布置

  開始拖動操作

 當拖動模式(DragMode)設置為dmAutomatic時 用戶在源控件上按下鼠標時拖動自動開始 當設置為dmManual時通過處理鼠標事件來決定拖動是否開始 如果想開始拖動調用BeginDrag方法

lishixinzhi/Article/program/Delphi/201311/25214

  • 上一篇:華為麒麟的替代來了?芯片“黑馬”崛起,高通還會淡定嗎?
  • 下一篇:做機器人有多賺錢
  • copyright 2024編程學習大全網