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的更多相关文章
- 在Delphi中通过OLE方式写Excel文件
		报表的打印是每个项目都会遇到的问题.由于报表格式要求五花八门,往往又同时要求打印格式可方便调整.作为一种替代方法,可以将需要打印的报表导出到Excel/Word,打印交给Office去吧.由于Offi ... 
- Delphi中拖动无边框窗口的5种方法
		1.MouseMove事件中加入: // ReleaseCapture;// Perform(WM_SYSCOMMAND, $F017 , 0); 2.MouseDown事件中加入: // POSTM ... 
- Delphi中动态创建窗体有四种方式
		Delphi中动态创建窗体有四种方式,最好的方式如下: 比如在第一个窗体中调用每二个,主为第一个,第二个设为动态创建 Uses Unit2; //引用单元文件 procedure TForm1.But ... 
- Delphi中window消息截获的实现方式(2)
		Delphi是Borland公司提供的一种全新的WINDOWS编程开发工具.由于它采用了具有弹性的和可重用的面向对象Pascal(object-orientedpascal)语言,并有强大的数据库引擎 ... 
- delphi 中几种多线程操作方式
		在了解多线程之前我们先了解一下进程和线程的关系 一个程序至少有一个主进程,一个进程至少有一个线程. 为了保证线程的安全性请大家看看下面介绍 Delphi多线程同步的一些处理方案大家可以参考:http: ... 
- Delphi中停靠技术的实现
		随着软件技术的不断进步,软件界面也越来越美观,操作也越来越方便.综观市面上比较专业的各种软件,我们会发现大部分都提供窗体停靠的功能,特别象工具软件,基本上都或多或少有停靠功能.自然,Delphi也支持 ... 
- DELPHI中多线程知识【转】
		本文的内容取自网络,并重新加以整理,在此留存仅仅是方便自己学习和查阅.所有代码均亲自测试 delphi7下测试有效.图片均为自己制作. 多线程应该是编程工作者的基础技能, 但这个基础我从来没学过,所以 ... 
- Delphi中的消息 (转载)
		消息是Windows发出的一个通知,它告诉应用程序某个事件发生了.在Delphi中,大多数情况下Windows的消息被封装在VCL的事件中,我们只需处理相应的VCL事件就可以了,但如果我们需要编写自己 ... 
- 转:Delphi中使用比较少的一些语法
		http://www.cnblogs.com/Murphieston/p/5577836.html 本文是为了加强记忆而写,这里写的大多数内容都是在编程的日常工作中使用频率不高的东西,但是又十分重要. ... 
随机推荐
- Hyper-V 虚拟机连网
			参考:http://www.cnblogs.com/chenxizhang/p/3188005.html(个人推荐) 参考:http://blog.csdn.net/elvis_0123/articl ... 
- 【python】python GUI开发框架介绍
			Python GUI开发的库不少.最常用的的也就几个. Tkinter -Tk是Python自带的GUI库, 上手简单, 做个简单界面基本够用了,但是不够美观,功能不全面. wxPython -开源免 ... 
- 启动ECLIPSE时,提示failed to create the java virtual machine
			修改eclipse.ini中的-XX:MaxPermSize=256M 这一项的原始值是512M. 
- js的自定义事件
			js中的事件是js的一大技术点,说白了就是操作dom树的唯一途径. 关于事件无非两种绑定方式: document.getElementById('xxx').onclick = function(){ ... 
- yii framework config 可以被配置的项目
			http://hi.baidu.com/lossless1009/item/990fdb33a52ffcf1e7bb7a4c <?php002 003 // 取消下行的注释,来定义一个路径别名0 ... 
- windows下隐藏磁盘分区
			在一定情况下有的人会想隐藏掉部分分区,比如双系统的情况 有两种方式 方法1: 删除盘符,适合在双系统的情况下隐藏掉另外一个系统相关的分区 请注意是删除盘符 不是删除分区 此电脑右键管理 点击磁盘管理 ... 
- 驳《编码规范是技术上的遮羞布》自由发挥==摆脱编码规范?X
			引子: 看了一坨文字<编码规范是技术上的遮羞布>,很是上火,见人见智,本是无可厚非,却深感误人子弟者众.原文观点做一个简单的提炼: 1.扔掉编码规范吧,让程序员自由发挥,你会得到更多的好处 ... 
- spring扩展点之三:Spring 的监听事件 ApplicationListener 和 ApplicationEvent 用法,在spring启动后做些事情
			<spring扩展点之三:Spring 的监听事件 ApplicationListener 和 ApplicationEvent 用法,在spring启动后做些事情> <服务网关zu ... 
- 硬盘安装雨林木风Win7旗舰版系统教程
			硬盘安装雨林木风Win7旗舰版系统教程 安装完成,登录后报administrator无权限, F8 进入安全模式,修改administrator的权限. 
- [ffmpeg]deocde audio(v3.3.2)
			/* * Copyright (c) 2001 Fabrice Bellard * * Permission is hereby granted, free of charge, to any per ... 
