社区
C#
帖子详情
【高分】qq那样的效果,如何改变被拖动的窗体虚框的大小
hujiiori
2005-06-03 10:43:05
当我拽着窗口标题栏拖动的时候,左键不松开,如何改变那个拖动的窗体虚框的大小,举例来说,你拖动qq的窗体到屏幕的左边界或右边界(左键不松开),你会发现虚框会变大撑满整个屏幕高度,而且虚框无法移出屏幕,请问这样的效果怎么做的。。欢迎讨论
...全文
214
12
打赏
收藏
【高分】qq那样的效果,如何改变被拖动的窗体虚框的大小
当我拽着窗口标题栏拖动的时候,左键不松开,如何改变那个拖动的窗体虚框的大小,举例来说,你拖动qq的窗体到屏幕的左边界或右边界(左键不松开),你会发现虚框会变大撑满整个屏幕高度,而且虚框无法移出屏幕,请问这样的效果怎么做的。。欢迎讨论
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hujiiori
2005-06-29
打赏
举报
回复
楼上的,拖动标题栏是响应不到mouseDown和mouseUp的,如果状态栏是自定义的panel倒是可以的,看看有没有其他答案,可以使用原来的标题栏。
stonegoldaustin
2005-06-29
打赏
举报
回复
using System.Runtime.InteropServices;
[DllImport("user32.dll")]
public static extern bool ReleaseCapture();
[DllImport("user32.dll")]
public static extern bool SendMessage(IntPtr hwnd,int wMsg,int wParam,int lParam);
private const int WM_SYSCOMMAND=0x0112;
private const int SC_MOVE=0xF010;
private const int SC_SIZE=0xF110;
private const int HTCAPTION=0x0002;
private bool isDown;
private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(isDown)
{
ReleaseCapture();
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
}
}
private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(e.Button == MouseButtons.Left)
{
isDown = true;
}
}
private void Form1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
isDown = false;
}
winterice
2005-06-29
打赏
举报
回复
帮顶
jjkkwwww
2005-06-29
打赏
举报
回复
难度
hujiiori
2005-06-29
打赏
举报
回复
再顶一下,有没有人会啊
hujiiori
2005-06-05
打赏
举报
回复
楼上那位,认错人了吧,骂人会被删贴的,请自重,看我3楼的跟贴,xp下也可以有虚框的,不过设置的地方有点出入
CWestWolf
2005-06-05
打赏
举报
回复
小比胡吉,XP下没有虚框的哇, 但我认为可以利用判断窗口位置来做
liudancodeman
2005-06-03
打赏
举报
回复
讨论讨论
bumm
2005-06-03
打赏
举报
回复
帮顶
hujiiori
2005-06-03
打赏
举报
回复
控制面板-显示-效果-拖动时显示窗口内容(2000系统),这一项必须不选,才有虚框效果,,刚刚发现的,
hujiiori
2005-06-03
打赏
举报
回复
初步构想,,
如果用窗体原来的标题栏,拖动的时候是没有相应的事件的,好像需要判断windows消息以确定鼠标拽住了窗体,
如果标题栏是个自己画上去的panel,那可以轻松得到相应事件,剩下去的事情只要想办法画虚框了。
另外,如果放弃画虚框,直接让窗体跟着鼠标移动,那个是可以较简单实现的,不到万不得已不想这样弄
新鲜鱼排
2005-06-03
打赏
举报
回复
抢个地方,呵呵
Mac平台Retina
高分
屏开发技术分享
QQ
for Mac V2.1版本支持了Retina,作为国内首个支持Retina
高分
屏的Mac OS X App,我们希望能够和大家分享一些在Retina支持方面的开发技术心得。欢迎Mac平台的开发朋友们与我们沟通交流。 一、基本概念和思想 1、...
Mac平台retina
高分
屏开发技术分享
QQ
for Mac V2.1版本支持了Retina,作为国内首个支持Retina
高分
屏的Mac OS X App,我们希望能够和大家分享一些在Retina支持方面的开发技术心得。欢迎Mac平台的开发朋友们与我们沟通交流。也希望可以通过iblog这个...
Qt在透明QWidget上自由绘画
初学Qt,需要实现这样的
效果
: 在透明的QWidget上自由的绘图,看起来就像是直接在桌面绘图一样。 要达到这样的
效果
,需要分成两个步骤: 如何将QWidget变得透明。 如何在透明的QWidget控件上使用QPainter绘制图形...
从零开始制作高仿
QQ
(一)——为窗口添加背景
“鼠标
拖动
事件”听起来像是一个事件,但其实它由两部分组成:一个是当鼠标按下时,要记录开始
拖动
时鼠标的坐标,另一个就是在鼠标
拖动
时记录鼠标的水平和垂直位移。这样就可以实时地计算出窗口应处的位置,并移动它...
MAC 平台retina
高分
屏开发技术分享
版本支持了RETINA,作为国内首个支持RETINA
高分
屏的MAC OS X APP,我们希望能够和大家分享一些在RETINA支持方面的开发技术心得。欢迎MAC平台的开发朋友们与我们沟通交流。也希望可以通过IBLOG这个平台在今后和大家...
C#
110,571
社区成员
642,568
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章