文档章节

不使用标题栏拖动窗体

涂孟超
 涂孟超
发布于 2014/09/26 15:36
字数 337
阅读 6
收藏 0
点赞 0
评论 0
方法一、二、三效果图:



方法四效果图:



方法一:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
    procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

var
  f: Boolean;
  x1,y1: Integer;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  x1 := X;
  y1 := y;
  f := True;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if not f then Exit;
  Left := Left + X - x1;
  Top := Top + Y - y1;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  f := False;
end;

end.

 
 
 
 
 

 

 

  
方法二:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure MyMsg(var msg: TWMNCHitTest); message WM_NCHITTEST;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.MyMsg(var msg: TWMNCHitTest);
begin
  Inherited;
  if msg.Result = HTCLIENT then
    msg.Result := HTCAPTION;
end;

end.

 
 
 
 
 

 

 

  
方法三:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  SendMessage(Handle, WM_SYSCOMMAND, $F011, 0);
  {参数3在 $F011-$F01F 之间均可都是移动控件}
end;

end.

 
 
 
 
 

 

 

  
方法四:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  SendMessage(Handle, WM_SYSCOMMAND, $F011, 0);
end;

end.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/04/30/1178226.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2004
码字总数 14107
作品 0
深圳
程序员
C# 在滚动窗口中绘图(滚动条原理) 转载

C# 在滚动窗口中绘图(滚动条原理) 转载 2016年07月26日 13:50:01 2626 窗体的大小由窗体的Size属性确定,这个大小包括了窗体的标题栏和边框。而窗体中用于显示客户文档的区域称为工作区(C...

mosangbike ⋅ 01/08 ⋅ 0

WPF/Silverlight深度解决方案:(十三)完美自定义之ChildWindow

ChildWindow在所有应用领域中都是必不可缺的好工具,小到一个弹出的确认对话框;大到包含众多复杂参数、选项及数据列表的资源窗口,都可以通过它来分类实现。ChildWindow的好处是可以实现拖动...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

我用vc+仿照金山毒霸软件工具界面(创世纪篇)

金山毒霸软件软件很炫,一直想仿照,终于摸透它的程序开发原理。 说干就干,本着由浅入深的原则,我选择了金山毒霸的一个附带工具:Duba_GOP.exe来开刀。该工具在金山毒霸的网站上可以下载到...

crossmix ⋅ 2015/11/06 ⋅ 0

FineUI v3.2.5 发布了!(支持IE10)

关于FineUI 基于 ExtJS 的专业 ASP.NET 2.0 控件库。 FineUI的使命 创建 No JavaScript,No CSS,No UpdatePanel,No ViewState,No WebServices 的网站应用程序。 支持的浏览器 IE 7.0+、F...

三生石上 ⋅ 2013/04/28 ⋅ 7

C#winform程序窗口全屏是否遮盖任务栏问题

 在作winform程序时遇到窗口如果全屏时,遮盖任务栏的问题,从网上搜到如下解决办法,与各位共享。以下代码本人都试过,没问题: 1. 执行如下按钮事件 private void btnFormMax_Click(ob...

andrewniu ⋅ 2017/01/12 ⋅ 0

1.1 Illustrator选项卡标签的使用

本节课将为您演示选项卡标签的使用。首先依次点击[文件 > 打开]命令,弹出打开窗口,打开一份示例文件。 Illustrator互动教程-酷课堂 在弹出的[文件]菜单中,点击[打开]命令,弹出[打开]窗口...

fzhlee ⋅ 04/08 ⋅ 0

QDemo之去除窗体标题栏

有些任务场景下,需要去除窗体的标题栏 这里介绍下常用的2种Flag设置,当然可能应该或许一定会有更多方式。 作为对比,先来个默认窗体的视图: 第一种:设置Qt::FramelessWindowHint this->s...

jannn ⋅ 2015/11/09 ⋅ 0

Window attributes属性详解

以下属性以Dialog为例来讲解: <item name="windowBackground"> 窗体的背景 </item> <item name="windowFrame">Dialog 是否有边框 </item> <item name="windowNoTitle">窗体是否有标题</ite......

TedYin ⋅ 2013/11/22 ⋅ 0

Qt学习:无边框界面的实现总结

无边框界面是每个桌面应用必备的功能。手机无边框就很好解决了,直接无边框就好了,默认是全屏的。但是桌面无边框会有很多问题,首先是不能拖动。 之前看过别人的无边框实现,大部分是做成整...

wzj0808 ⋅ 03/06 ⋅ 0

MFC中无边框窗口的拖动

MFC中无边框窗口的拖动 void CXXXXDialog::OnLButtonDown(UINT nFlags, CPoint point) { PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y)); } 要记得添加消息映射,......

IMGTN ⋅ 2012/06/14 ⋅ 4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

解决yum安装报错Protected multilib versions

使用yum安装报错Protected multilib versions原因是因为多个库不能共存,不过更新的话也并不行,但是可以在安装命令后面加上如下一段命令: --setopt=protected_multilib=false 案例: 比如需...

北岩 ⋅ 16分钟前 ⋅ 0

为什么要学习Typescript???

简单来说 目前的typescript就是未来的javascript 为什么?? 这要从ECMA-262标准的第4版说起 对了 我们说的ES5 其实是ECMAScript3.1这个替代性建议被扶正了而已... 那么 第4版标准是什么? 看看...

hang1989 ⋅ 20分钟前 ⋅ 0

linux安装ipfs

一、下载ipfs # cd /usr/local/ipfs/ # wget https://dist.ipfs.io/go-ipfs/v0.4.15/go-ipfs_v0.4.15_linux-amd64.tar.gz # tar -zxvf go-ipfs_v0.4.15_linux-amd64.tar.gz 二、安装ipfs # ......

八戒八戒八戒 ⋅ 26分钟前 ⋅ 0

jvm程序执行慢诊断手册

生产环境最多的几种事故之一就是程序执行慢,如果是web服务的话,表现就是响应时间长。本文分享,从业多年形成的排查守则。 诊断步骤 系统资源查看 首先是系统资源查看,而且必须是在第一步。...

xpbob ⋅ 26分钟前 ⋅ 0

YII2 advanced 高级版本项目搭建-添加API应用以及多应用

一、YII安裝 安裝yii可以用composer安裝,也可以在yii中文社区下载归档文件安装 composer安装就不介绍了,因为要安装composer,比较麻烦,当然安装了composer是最好的,以后安装yii的插件要用...

botkenni ⋅ 27分钟前 ⋅ 0

在jdk1.8的环境下模拟永久代内存溢出

相信不少小伙伴在看深入理解Java虚拟机的时候,作者给我们举例一个demo来发生PermGen space 1、通过List不断添加String.intern(); 2、通过设置对应的-XX:PermSize与-XX:MaxPermSize(更快看到...

虾几把写 ⋅ 53分钟前 ⋅ 0

开发OpenDaylight组件的完整流程

在前面介绍学习了OpenDaylight的几个重要模块后,这里再来介绍下完整开发一个模块的过程。 OSGI的bundles提供被其他OSGI组件调用的服务。这个教程中展示的是Data Packet Service去解析数据包...

wangxuwei ⋅ 今天 ⋅ 0

Java序列化和反序列化

1、什么是序列化和反序列化 序列化:把对象转换为字节序列的过程。 反序列化:把字节序列恢复成对象的过程。 2、被序列化的类需要实现serializable接口,只是为了标注该对象是可以被序列化的...

IT-Mamba ⋅ 今天 ⋅ 0

流式构建原理

流式构建需要达到分钟级的数据更新频率,Kylin采用类似于Spark Streaming的做法,每隔数分钟进行一次微构建。这边的构建需要考虑到一个延迟因素,分布式网络存在延迟等因素,该时间段的数据有...

无精疯 ⋅ 今天 ⋅ 0

在maven项目工程编写solr代码,需要的依赖

solrJ <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>6.6.2</version> </dependency> <dependency> <groupId>org.apache.httpcomponents<......

爱运动的小乌龟 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部