【高分】qq那样的效果,如何改变被拖动的窗体虚框的大小

hujiiori 2005-06-03 10:43:05
当我拽着窗口标题栏拖动的时候,左键不松开,如何改变那个拖动的窗体虚框的大小,举例来说,你拖动qq的窗体到屏幕的左边界或右边界(左键不松开),你会发现虚框会变大撑满整个屏幕高度,而且虚框无法移出屏幕,请问这样的效果怎么做的。。欢迎讨论
...全文
214 12 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
抢个地方,呵呵

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧