Delphi中拖动的方式来移动TPageControl的Tab
2016-01-05 00:00
363 查看
摘要: Delphi中拖动的方式来移动TPageControl的Tab
procedure TMainForm.PageControl1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer) ;
begin
PageControl1.BeginDrag(False) ;
end;
procedure TMainForm.PageControl1DragDrop(Sender, Source: TObject; X,
Y: Integer) ;
const
TCM_GETITEMRECT = $130A;
var
TabRect: TRect;
j: Integer;
begin
if (Sender is TPageControl) then
for j := 0 to PageControl1.PageCount - 1 do
begin
PageControl1.Perform(TCM_GETITEMRECT, j, LParam(@TabRect)) ;
if PtInRect(TabRect, Point(X, Y)) then
begin
if PageControl1.ActivePage.PageIndex <> j then
PageControl1.ActivePage.PageIndex := j;
Exit;
end;
end;
end;
procedure TMainForm.PageControl1DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean) ;
begin
if (Sender is TPageControl) then Accept := True;
end;
Delphi中拖动的方式来移动TPageControl的Tab
核心提示:procedure TMainForm.PageControl1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState;...
procedure TMainForm.PageControl1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer) ;
begin
PageControl1.BeginDrag(False) ;
end;
procedure TMainForm.PageControl1DragDrop(Sender, Source: TObject; X,
Y: Integer) ;
const
TCM_GETITEMRECT = $130A;
var
TabRect: TRect;
j: Integer;
begin
if (Sender is TPageControl) then
for j := 0 to PageControl1.PageCount - 1 do
begin
PageControl1.Perform(TCM_GETITEMRECT, j, LParam(@TabRect)) ;
if PtInRect(TabRect, Point(X, Y)) then
begin
if PageControl1.ActivePage.PageIndex <> j then
PageControl1.ActivePage.PageIndex := j;
Exit;
end;
end;
end;
procedure TMainForm.PageControl1DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean) ;
begin
if (Sender is TPageControl) then Accept := True;
end;
相关文章推荐
- expand 与 unexpand 命令实例教程
- Delphi实现http发送xml文件片段
- Delphi实现毫秒级别的倒计时实例代码
- Delphi7中Listview的常用功能汇总
- 插件管理框架 for Delphi(一)
- delphi中一个值得大家来考虑的DLL问题
- Delphi实现检测并枚举系统安装的打印机的方法
- delphi 正弦曲线图
- Delphi下OpenGL2d绘图之画四边形的方法
- Delphi实现木马文件传输代码实例
- delphi建立、读取、存贮INI文件的方法《三》
- Delphi控件ListView的属性及使用方法详解
- delphi制作wav文件的方法
- Delphi下OpenGL2d绘图之画点的方法
- Delphi下OpenGL2d绘图之初始化流程详解
- Delphi实现窗体感知鼠标滑过并自动隐藏与显示窗口的方法
- Delphi实现截屏存盘的方法
- Delphi实现碰撞球体完整实例代码
- delphi建立、读取、存贮INI文件的方法《二》
- Delphi解析FTP地址的方法