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;
- 浏览: 888333 次
- 性别:
- 来自: 杭州
-
最新评论
-
zj7243886:
非常感谢,这东西解决我的问题;谢谢你的分享
Linux 安装 jpeg-6b 错误 ./libtool 命令未找到 -
丶Sk.Mabon:
能让html也绕过吗。。机房限制很悲剧
绕过 <?PHP exit(’Access Denied’); ?> 限制 -
丶Sk.Mabon:
请教gzip.php 的写法。万分感谢!
apache 开启 gzip -
hyxj1220:
火狐中单纯的定义这样的样式,貌似不行,必须要让容器浮动
英文长文本换行CSS -
逆水寒龙:
太好了,正好用上,谢谢博主共享
Asp.net 将中文汉字转换成拼音首字和拼音全拼
相关推荐
delphi无标题栏窗口的拖动 一般情况下,移动一个窗体需要将鼠标放置在标题栏上才能拖动窗体,为什么非要使用标题栏呢?其实我们可以使用一个巧妙的方法来实现将鼠标放置在窗体上按下就可拖动窗体
通过以上步骤,我们就实现了无标题栏的Delphi窗体的拖动功能。请注意,这只是一个基础示例,实际应用中可能需要考虑更多的细节,比如防止窗口移动到屏幕之外、在拖动过程中禁用其他窗体的交互等。在Delphi编程中,...
综上所述,"delphi 无标题窗体加边框可拖拽调整大小"这一知识点涉及到了如何在无标题的Delphi窗体上实现拖动和调整大小的功能。通过监听鼠标事件和自定义窗体边缘的行为,开发者可以创建出具有类似边框效果的无标题...
"Delphi无标题栏改变窗口大小"这个主题主要涉及到以下几个核心知识点: 1. **窗体样式设置**: Delphi中的窗体(TForm)有一个属性叫做BorderStyle,它决定了窗体的边框类型。要实现无标题栏的效果,我们需要将...
Delphi添加一个可拖动窗体的按钮,通过对此按钮的控制可移动窗体,实现按住标题栏移动窗口的功能,无标题栏也就不能显示最大化、最小化和关闭窗口的功能,因此本程序自定义了一个关闭窗口的方法,那就是长按ESC键可...
在本节"Delphi7视频教学第二十二讲 可缩放无标题窗口"中,我们将深入探讨如何在Delphi 7环境下创建一个无标题栏但可缩放的窗口。这通常用于那些希望自定义界面或者不需要标准窗口控制(如最大化、最小化和关闭按钮)...
本文将深入探讨如何在Delphi中为无标题窗体添加边框,使其具有拖拽调整大小和移动的能力。 首先,让我们理解窗体的BorderStyle属性。在Delphi中,窗体的BorderStyle属性决定了窗体的外观和行为。默认值通常为...
Delphi实现个性的窗口拖动功能,不按住标题栏实现的窗口拖动效果,因为一般情况下,都是按住窗口的标题栏才能拖动窗口,本实例代码将演示不按标题栏也可拖动窗口移动位置。if (htclient=msg.result) then msg.result...
本示例提供的"Delphi无标题栏窗体拖动的方法 源码例子.rar"正是为了展示如何实现这一功能。 首先,我们需要理解Delphi中的TForm组件。TForm是Delphi中用于创建窗口的基础类,它包含了窗体的基本属性、方法和事件。...
Delphi窗口编程实例:如何让窗口不可拖动位置,即使鼠标按在标题栏上,也不能拖动窗口,窗口变得不可移动,打开时在什么位置 ,就始终保持在某位置,实现此功能的关键代码部分: Msg.WindowPos.x := Left; //...
在Delphi编程环境中,实现QQ窗口抖动效果主要涉及到Windows API的使用,特别是与窗口消息相关的函数和常量。这个源码示例可能是为了在自己的应用程序中模拟QQ的消息通知方式,吸引用户注意力。下面我们将详细探讨...
2. **重写HitTest方法**:在自定义的TForm子类中,重写HitTest方法,确保当鼠标在窗体的任何位置时,都返回HTCAPTION,这样鼠标点击任何地方都能像标题栏一样拖动窗体。 3. **处理OnMouseMove事件**:当鼠标按下并...
通过分析和运行这个代码,可以更好地理解拖动无标题栏窗口的实现细节。 总的来说,"拖动没有标题栏的窗口"这一技术涉及到Windows操作系统底层的消息处理、窗口样式设置、以及图形绘制。开发者需要对Windows API有...
在Delphi编程中,实现窗口区域拖动是一项常见的任务,特别是在开发桌面应用程序时。窗口拖动功能使得用户可以通过鼠标点击并移动来改变窗口的位置。在本文中,我们将深入探讨如何在Delphi中实现这一功能,主要关注...
在Delphi编程环境中,"无标题调整大小"通常是指创建没有标准标题栏的窗口,并允许用户通过拖动边界来调整其大小。这种设计通常用于自定义界面或创建无边框的对话框。以下是对这个主题的详细解释: 一、创建无标题...
本资源聚焦于使用Delphi6进行界面设计和实现Winamp形式的窗口拖动功能,这对于任何希望创建具有独特用户交互体验的软件开发者来说都是一个重要的学习资料。 在Delphi6中,实现类似Winamp的窗口拖动功能,主要是通过...
总结一下,"Delphi 不用标题栏也移动窗体"是一个关于如何在无标题栏的Delphi窗体中实现用户交互移动的技术,通过自定义鼠标事件处理和窗体位置调整来实现。这种方法允许开发者创造出更具有个性化的用户界面,同时...
标题中的“delphi图像拖动demo源码”指的是一个使用Delphi编程语言开发的示例程序,该程序展示了如何在应用程序中实现图像的拖放功能。Delphi是一种基于Object Pascal的集成开发环境(IDE),广泛用于创建Windows...
使用Delphi源码实现一个无边框窗口,把标题栏去掉了,同时也去掉了标题栏上的最大化、最小化和关闭按钮,测试发现,这个无标题栏无边框的窗体不能拖动,要是能拖动就更好了。 运行环境:Windows/Delphi7
在Delphi编程环境中,"悬浮窗体"是一种特殊类型的窗口,它可以自由地浮动在其他应用程序之上,不受父窗口的限制,通常用于显示实时信息或工具提示。本篇将深入探讨如何在Delphi7中实现一个简单的悬浮窗体,并讨论...