通过控件移动窗体
来源:互联网 发布:事件营销诺一网络公关 编辑:程序博客网 时间:2024/05/21 21:40
所谓通过控件移动窗体,常用于无边框窗口的移动,需要通过拖动某个控件来使整个窗体移动。
简单总结下两种方法
方法1:HTCLIENT转换为HTCAPTION
函数定义
函数实现
方法2:发送系统消息
给目标控件添加OnMouseDown消息处理函数,实现方法很简单
简单总结下两种方法
方法1:HTCLIENT转换为HTCAPTION
函数定义 private
{ Private declarations }
procedure WMNCHitTest(var Msg:TWMNCHitTest);message WM_NCHITTEST;
{ Private declarations }
procedure WMNCHitTest(var Msg:TWMNCHitTest);message WM_NCHITTEST;
procedure TmForm.WMNCHitTest(var Msg:TWMNCHitTest);
var
p: TPoint;
begin
DefaultHandler(Msg);
if Msg.Result = HTCLIENT then begin
with JvHTLabel1 do begin
p.X:= Left; p.Y:= Top;
p := Application.MainForm.ClientToScreen(p);
if (Msg.XPos > p.X) and (Msg.XPos < p.X + Width) and
(Msg.YPos > p.Y) and (Msg.YPos < p.Y + Height) then
begin
Msg.Result:= HTCAPTION;
SetCursor(LoadCursor(0,IDC_SIZEALL));
end;
end;
end;
end;
var
p: TPoint;
begin
DefaultHandler(Msg);
if Msg.Result = HTCLIENT then begin
with JvHTLabel1 do begin
p.X:= Left; p.Y:= Top;
p := Application.MainForm.ClientToScreen(p);
if (Msg.XPos > p.X) and (Msg.XPos < p.X + Width) and
(Msg.YPos > p.Y) and (Msg.YPos < p.Y + Height) then
begin
Msg.Result:= HTCAPTION;
SetCursor(LoadCursor(0,IDC_SIZEALL));
end;
end;
end;
end;
方法2:发送系统消息
给目标控件添加OnMouseDown消息处理函数,实现方法很简单procedure TmForm.JvHTLabel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SetCursor(LoadCursor(0,IDC_SIZEALL));
Perform(WM_SYSCOMMAND,$F012,0);
end;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SetCursor(LoadCursor(0,IDC_SIZEALL));
Perform(WM_SYSCOMMAND,$F012,0);
end;
- 通过控件移动窗体
- 移动窗体中的控件
- 在窗体运行后,可通过鼠标拖动控件来移动控件位置(c#) (转载)
- winform移动窗体或窗体中的控件
- winform 移动窗体控件图解
- winform窗体中移动控件
- vb 点击控件移动窗体
- VB点击控件移动窗体
- 鼠标移动窗体或点住控件移动窗体
- C#通过拖动窗体移动窗口
- 运行时移动窗体内的控件
- Delphi实现窗体控件自由移动
- C# 鼠标拖拉移动窗体控件
- 从一个窗体控件另一窗体,需要通过共享变量...
- 从一个窗体控件另一窗体,需要通过共享变量..
- 窗体内控件的移动及窗体随控件移动、WIN7磨砂窗口
- C#winform窗体中如何点击移动某个控件来移动窗体
- Qt:通过鼠标拖拽,来移动无边框窗体
- 微内核工作流引擎体系架构与部分解决方案参考
- 水晶报表中实现一个字段的数值汇总
- 十年磨一剑
- 十年磨一剑
- 十年磨一剑
- 通过控件移动窗体
- c++中的引用的使用原理和使用实例 (1)
- 与 SNORT 相关的sth(2)--- 关于SNORT的安装
- 关于测试设计书的只言片语
- 在JBoss里配置MySql数据源
- 一条css语句让网站所有网页变黑白(灰色)
- 关于sizeof的问题
- 两个电话之间的SIP通话范例
- JBoss Hibernate 配置与应用