简单的无标题窗口移动技巧(delphi)
2010-06-17 09:05
218 查看
为了程序美观,大家经常会使用图片做为背景,把WINDOWS标题栏进地隐藏,这时候需要自己编码窗口移动代码。
以前为了实现这种效果,我也写过非常复杂的代码来实现,但效果总是不好。
通过百度,发现一种比较方便的方法,共享一下。
在FORM上我放置两个控件,image和label,image大小和form一致,简单点可以把image的align属性设置为alClient
label放置在image的TOP位置,autosize设置为false,caption设置为空.大小模拟标题栏大小。
label的transparent属性设置为true(透明)
然后在label的mousedown事件中编写两行代码
procedure TForm1.lblMoveMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture; //释放鼠标的捕获状态;
(Form1 as TWinControl).PerForm(wm_SysCommand,sc_DragMove,0);//向窗体发送移动消息;
end;
编译一下,可以发现鼠标在label区域按下进行拖动,效果和按在正常的windows标题栏是一模一样的。
以前为了实现这种效果,我也写过非常复杂的代码来实现,但效果总是不好。
通过百度,发现一种比较方便的方法,共享一下。
在FORM上我放置两个控件,image和label,image大小和form一致,简单点可以把image的align属性设置为alClient
label放置在image的TOP位置,autosize设置为false,caption设置为空.大小模拟标题栏大小。
label的transparent属性设置为true(透明)
然后在label的mousedown事件中编写两行代码
procedure TForm1.lblMoveMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture; //释放鼠标的捕获状态;
(Form1 as TWinControl).PerForm(wm_SysCommand,sc_DragMove,0);//向窗体发送移动消息;
end;
编译一下,可以发现鼠标在label区域按下进行拖动,效果和按在正常的windows标题栏是一模一样的。
相关文章推荐
- delphi技巧——移动无标题窗口
- delphi技巧——移动无标题窗口
- 在DELPHI中实现无标题窗体的移动最简单的方法
- 在DELPHI中实现无标题窗体的移动最简单的方法
- 移动无标题窗口(delphi)
- delphi 无标题栏窗口点任意地方移动窗体
- 无标题窗口的移动
- Delphi 实现无窗口移动(详细使用WM_NCHITTEST和PtInRect API进行测试)
- putty窗口标题修改、字体颜色修改等简单配置以及putty多开工具mtputty的使用
- Qt 技巧:去除对话框边框 + 设置窗口可移动和透明
- QT 子窗口监听主窗口信号(超级简单,但是好用,比如主窗口移动的时候,子窗口不要再继续处理任务)
- Delphi使窗口支持文件拖放的简单例子,附源代码
- 无标题窗体的移动及其简单美化
- 一个最简单的Delphi2010的PNG异形窗口方法
- delphi如何实现无窗口移动
- qt实现无标题窗口移动范围
- // Delphi中给出窗口标题的部分字符串,求窗口的句柄,窗口模糊查询
- Qt 结构体 正则表达 居中显示 页面置顶 页面全局化 标题命名 标题最大化等按钮失效 去标题栏令窗口不可移动
- 无标题栏窗口移动
- DELPHI 通過窗口句柄或窗口标题得到进程句柄