1.MouseMove事件中加入:

// ReleaseCapture;
// Perform(WM_SYSCOMMAND, $F017 , 0); 2.MouseDown事件中加入: // POSTMESSAGE(Self.Handle,WM_LBUTTONUP,0,0);
// POSTMESSAGE(Self.Handle,274,61458,0); 3.MouseDown事件中加入: // ReleaseCapture;
// Perform(WM_SYSCOMMAND, $F012, 0); 4.截获WM_NCHITTEST消息 procedure WMNCHITTEST(var Msg:TWMNCHITTEST);message WM_NCHITTEST; procedure TForm1.WMNCHITTEST(var Msg: TWMNCHITTEST);
begin
inherited;
//Msg.Result:=HTCaption;
end; 5. private
procedure AppMessage(var Msg:TMsg;var Handled:Boolean); procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage:=AppMessage;
end; procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
//(GetKeyState(vk_CONTROL) < 0)
if (Msg.message=WM_LButtonDown) and
(DefWindowProc(Handle,WM_NCHitTest,
0,GetMessagePos)=HTClient) and
(True) then
begin
SendMessage(Handle,WM_NCLButtonDown,
HTCaption,GetMessagePos);
//发送鼠标在标题栏内按下的消息
Handled:=true;
end;
end; 在MousDown事件中写
ReleaseCapture;//释放鼠标控制区域
SendMessage(Handle,WM_SYSCOMMAND,SC_MOVE+HTCaption,0);//发送移动标题栏消息
如,要在Panel上可以移动窗口
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(Handle,WM_SYSCOMMAND,SC_MOVE+HTCaption,0);
end;

Delphi 中拖动无边框窗口的5种方法的更多相关文章

  1. Delphi中拖动无边框窗口的5种方法

    1.MouseMove事件中加入: // ReleaseCapture;// Perform(WM_SYSCOMMAND, $F017 , 0); 2.MouseDown事件中加入: // POSTM ...

  2. 如何在pyqt中自定义无边框窗口

    前言 之前写过很多关于无边框窗口并给窗口添加特效的博客,按照时间线罗列如下: 如何在pyqt中实现窗口磨砂效果 如何在pyqt中实现win10亚克力效果 如何在pyqt中通过调用SetWindowCo ...

  3. 如何在pyqt中给无边框窗口添加DWM环绕阴影

    前言 在之前的博客<如何在pyqt中通过调用SetWindowCompositionAttribute实现Win10亚克力效果>中,我们实现了窗口的亚克力效果,同时也用SetWindowC ...

  4. Qt5:无边框窗口拖动

    在窗口程序中,无边框窗口程序一般需要特殊处理才能拖动 Qt中,要实现无边框窗口的拖动,需要重新实现 mousePressEvent 和 mouseMoveEvent 俩虚函数 void Widget: ...

  5. 【Qt编程】基于Qt的词典开发系列<五>--无边框窗口的拖动

    在上一篇文章中,我们讲述了如何进行无边框窗口的缩放与拖动,而在一些情况下,我们的窗口只需要进行拖动也不需要改变其大小,比如:QQ的登录窗口.本来在上一篇文章中已经讲述了如何进行窗口的拖动,但是却与窗口 ...

  6. 如何在pyqt中在实现无边框窗口的同时保留Windows窗口动画效果(一)

    无边框窗体的实现思路 在pyqt中只要 self.setWindowFlags(Qt.FramelessWindowHint) 就可以实现边框的去除,但是没了标题栏也意味着窗口大小无法改变.窗口无法拖 ...

  7. 【Qt编程】基于Qt的词典开发系列<四>--无边框窗口的缩放与拖动

    在现在,绝大多数软件都向着简洁,时尚发展.就拿有道的单词本和我做的单词本来说,绝大多数用户肯定喜欢我所做的单词本(就单单界面,关于颜色搭配和布局问题,大家就不要在意了). 有道的单词本: 我所做的单词 ...

  8. 【转】MFC 无边框窗口的拖动

    MFC中无边框窗口的拖动 void CXXXXDialog::OnLButtonDown(UINT nFlags, CPoint point) { PostMessage(WM_NCLBUTTONDO ...

  9. C# 无边框窗口实现拖动

    原文地址:http://blog.csdn.net/sky___ice/article/details/11533321 Form1.Designer.cs: // //Form1 // this.M ...

  10. Qt中实现无边框的窗体

    1 自定义窗体类继承自QWidget 2 在构造函数中设置无边框效果 setWindowFlags(Qt::FramelessWindowHint);//无边框 setAttribute(Qt::WA ...

随机推荐

  1. 【狂神说Java】Java零基础学习笔记-预科

    [狂神说Java]Java零基础学习笔记-预科 预科01:学习准备:博客 博客,英文名为Blog,它的正式名称为网络日记 为什么要写博客? 需要总结和思考.有时候我们一直在赶路,却忘了放慢脚步 提升文 ...

  2. 20. C++快速入门--并发基础

    参考:<Professional c++>,<并发编程实战> 1 基本概念 1.1 竞争 原子性 "原子"(atomic)操作是指一种不可分割的操作, 即在 ...

  3. 一步一步abp电商模块-1、搭建模块环境

    前言 目前在开发abp电商模块,打算做一步,写一步,算是对自己的记录,主要是参考nopcommoner 并结合abp模块开发 知识都是连贯的,如果你熟悉asp.net core 3.x.abp(非vN ...

  4. 如何发现漏洞之我的多功能武器BurpSuite与全能插件

    知识点 1.插件类-武装BurpSuite-漏洞检测&分析辅助 2.插件类-武装谷歌浏览器-信息收集&情报辅助 一.演示案例-插件类-武装BurpSuite-漏洞检测&分析辅助 ...

  5. JVM-总结列表

    第一章 JVM内存结构 1.为什么要了解JVM内存管理机制 JVM自动的管理内存的分配与回收,这会在不知不觉中浪费很多内存,导致JVM花费很多时间去进行垃圾回收(GC) 内存泄露,导致JVM内存最终不 ...

  6. 深入浅出:Agent如何调用工具——从OpenAI Function Call到CrewAI框架

    深入浅出:Agent如何调用工具--从OpenAI Function Call到CrewAI框架 嗨,大家好!作为一个喜欢折腾AI新技术的算法攻城狮,最近又学习了一些Agent工作流调用工具的文章,学 ...

  7. DICOM-SCP,可以直接使用的SCP(.net framework 4.6.1以上)控制台接收端

    此程序只能运行在.net framework 4.6.1版本上的环境,如果要运行在低版本环境,请看上一篇文档 using System; using System.IO; using System.T ...

  8. 字节流:FileInputStream和FileOutputStream的使用

    /** * 测试FileInputStream和FileOutputStream的使用 * * 结论: * 1. 对于文本文件(.txt,.java,.c,.cpp),使用字符流处理 * 2. 对于非 ...

  9. 谈谈天翼云VPCE

    本文分享自天翼云开发者社区<谈谈天翼云VPCE>,作者:天枫霁月 一.VPCE产品出现的背景 跨VPC通信,且能够严格限制访问,任意两个租户之间都能互通,性能高,花费少,通过VPCE产品实 ...

  10. InfluxDB UI 设置保留策略

    InfluxDB UI 设置保留策略 创建Bucket时设置保留策略 在InfluxDB 2.x的UI中创建Bucket时,你可以直接设置其保留策略.以下是一个基本的步骤指南: 登录到InfluxDB ...