FireMonkey下的异形窗体拖动(句柄转换)
DelphiXE2 Firemoney FMX 的窗体不只是为windows的, 所以很多功能都没有了.
最常见的就是拖拽了
先看 VCL时代 一个经典拖动代码
- ReleaseCapture();
- SendMessage(Handle , WM_SYSCOMMAND,SC_MOVE+HTCAPTION, 0);
这段代码就是用来拖动异形窗体的, 可是到了 FMX下 好像不能用了?
其实还是可以使用的. 因为 FMX 的句柄不是 VCL 的窗体句柄,所以需要转化一下.
- uses
- Winapi.Windows , Winapi.Messages,
- FMX.Platform.Win;
- procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Single);
- begin
- ReleaseCapture();
- SendMessage(FmxHandleToHwnd(Handle) , WM_SYSCOMMAND,SC_MOVE+HTCAPTION, 0);
- end;
这样就可以拖动啦
FMX中还自带了另一种拖动, 这种拖动是直接拖动窗体,和上面的拖动时出现一个方框不一样
- TForm.StartWindowDrag
http://blog.csdn.net/warrially/article/details/7951244
FireMonkey下的异形窗体拖动(句柄转换)的更多相关文章
- FireMonkey下的异形窗体拖动(需要使用FmxHandleToHwnd函数转化一下句柄)
		DelphiXE2 Firemoney FMX 的窗体不只是为windows的, 所以很多功能都没有了. 最常见的就是拖拽了 先看 VCL时代 一个经典拖动代码 ReleaseCapture(); S ... 
- Delphi下创建异形窗体
		procedure TForm1.FormCreate(Sender: TObject);var pt: array [0 .. 4] of TPoint; m_rgn: HRGN;begin ... 
- [WPF] 我的WPF自学日记1,无标题窗体拖动
		学习WPF的第一天,尝试写比较常用的功能,无标题窗体拖动. 先在设计界面给它加上MouseDown事件 <Window x:Class="MyFirstWPFAPP.MainWindo ... 
- DSAPI显示PNG异形窗体
		使用DSAPI实现PNG异形窗体,注意,该窗体为层样式窗体,以PNG或32位带透明通道的图像合成到屏幕,此方法不会触发窗体的重绘,故原窗体(包括其子控件)均不会显示,如果需要更新画面,需要重新用代码等 ... 
- VC 获取控制台窗体的句柄(hWnd)
		在Windows中,句柄是一个系统内部数据结构的引用. 比如当你操作一个窗体.或说是一个Delphi窗体时,系统会给你一个该窗体的句柄,系统会通知你:你正在操作142号窗体.就此你的应用程序就能要求系 ... 
- C#中无边框窗体拖动
		//定义一个bool变量标识是否拖动窗体 private bool isMove = false; //记录鼠标的位置 private Point point; 定义的变量 /// <summa ... 
- Qt 实现 异形 窗体&按钮
		//关键部分代码如下//设置异形窗体 //setWindowOpacity(0.5);//设置窗体透明度 0完全透明,1完全不透明 this->setWindowFlag(Qt::Framele ... 
- MVVM模式下弹出窗体
		原地址:http://www.cnblogs.com/yk250/p/5773425.html 在mvvm模式下弹出窗体,有使用接口模式传入参数new一个对象的,还有的是继承于一个window,然后在 ... 
- android手势事件 快速移动 长按触摸屏 按下触摸屏,并拖动
		/* 用户按下触摸屏.快速移动后松开 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float vel ... 
随机推荐
- TextBox控件只允许输入出生日期,并验证年龄不得小于18岁
			1.Body tag <form id="form1" runat="server"> <div> <asp:Label ID=& ... 
- 工具篇-MAT(Memory Analyzer Tool)
			--- layout: post title: 工具篇-MAT(Memory Analyzer Tool) description: 让内存泄漏无所遁形 2015-10-08 category: bl ... 
- Enze fifth day(循环语句2)
			又是新的一周开始了,我还在云和学院继续学习.因为想要急切的想学会更多的知识,所以我有些急.可是我越急就越容易出错,这应该就是所谓的欲速则不达吧.这一周,我要重新把控好自己的一切,尽我最大的努力来学习! ... 
- 快速构建ASP.NET MVC Admin主页
			前言 后台开发人员一般不喜欢调样式,搞半天样式出不来,还要考虑各种浏览器兼容,费心费力不讨好,还好互联网时代有大量的资源共享,避免我们从零开始,现在就来看怎么快速构建一个ASP.NET MVC后台管理 ... 
- HDU 4548(美素数)
			Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description 小明对数的 ... 
- thinkphp小技巧
			if(IS_POST) _404("页面不存在",U("index")) //如果不是POST提交,则跳转到index.debug模 ... 
- PHP学习笔记13-操作Cookie
			PHP会话管理图: 创建index.php: <?php /** * Created by PhpStorm. * User: Administrator * Date: 2015/7/1 * ... 
- elk 搭建
			elk 平台搭建: ELK平台搭建 系统环境 System: Centos release 6.7 (Final) ElasticSearch: 2.1.0 Logstash: 2.1.1 Kiban ... 
- html = data.decode('gbk').encode('utf-8')
			html = data.decode('gbk').encode('utf-8')此处encode编码要与html文件内charset=utf-8的格式一致,如果不一致,浏览器打开乱码,文本编辑器正常 ... 
- poj 2833 The Average(堆)
			题目链接:http://poj.org/problem?id=2833 思路分析:由于数据量较大,超出存储范围,使用不能使用数组存储数据在进行排序.考虑维护一个最大堆与最小堆,依次读取数据, 记录数据 ... 
