CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

请问: 如何用鼠标拖拽改变无边框窗体大小

楼主devas()2004-05-02 00:31:23 在 .NET技术 / C# 提问

在以前的贴子里看到:  
   
  [DllImport("user32.dll",EntryPoint="SendMessage")]  
  public   static   extern   int   SendMessage(int   hWnd,int   wMsg,int   wParam,int   lParam);  
   
    public   const   int   WM_SysCommand   =   0x0112;  
    public   const   int   SC_MOVE   =   0xF012;  
   
   
   
  SendMessage(this.Handle.ToInt32(),WM_SysCommand,SC_MOVE,0);  
   
  实现拖动无边框窗的方法.  
   
    但我想用     SC_SIZE   =   0xF000     改变窗体大小的时候,   鼠标总是被固定于   Form的中心;   请问如何才能用鼠标拖拽改变无边框窗体大小 问题点数:0、回复次数:6Top

1 楼devas()回复于 2004-05-03 22:12:53 得分 0

每次改变大小的时候动   重绘速度太慢;   能不能象有边框窗体那样,用一个虚框拖动,最后才确定大小...Top

2 楼nyucv(思索者)回复于 2004-08-18 21:10:54 得分 0

关注!Top

3 楼lxy0423((I Love Cloud))回复于 2004-08-18 21:57:43 得分 0

你在論壇里面search一下,有資料可以查的Top

4 楼BearRui(孤熊 | 带你去看海!)回复于 2004-08-18 22:16:41 得分 0

try:  
  -----------------------  
  private   void   Form1_Load(object   sender,   System.EventArgs   e)  
  {  
                        this.FormBorderStyle=FormBorderStyle.None;  
  }  
   
  private   const   int   WM_NCLBUTTONDOWN   =   0xA1;  
  private   const   int   HTCAPTION   =   2;  
  [DllImport("user32.dll",   EntryPoint="SendMessageA")]  
  private   static   extern   int   SendMessage   (int   hwnd,   int   wMsg,   int   wParam,   int   lParam);  
  [DllImport("user32.dll")]  
  private   static   extern   int   ReleaseCapture   ();  
  private   void   Form1_MouseDown(object   sender,   System.Windows.Forms.MouseEventArgs   e)  
  {  
  //为当前的应用程序释放鼠标捕获  
      ReleaseCapture();  
  //发送消息,让系统误以为你在标题拦上按下鼠标  
                    SendMessage((int)this.Handle,WM_NCLBUTTONDOWN,HTCAPTION,0);  
  }Top

5 楼BearRui(孤熊 | 带你去看海!)回复于 2004-08-18 22:52:16 得分 0

不好意思,看错题目了,以为是拖动无标题窗口!!!  
  http://www.microsoft.com/china/community/Column/60.mspx  
  Top

6 楼Mycro(⊕☆夜海星空:上过大学的的农民☆⊕)回复于 2004-08-18 23:00:40 得分 0

通过,判断鼠标的位置,mousemove,mousedown  
   
  然后改变,这是真理。。  
   
  我研究过了。。Top

相关问题

  • 如何固定MDI窗体的大小,即既不能最大化,也不能通过鼠标拉动窗体的边框来改变窗体大小
  • 各位,如何禁止使用鼠标拖拽窗体的边框改变大小
  • 自己做了窗体控件,怎么实现鼠标拖动边框,大小就改变.
  • 无边框窗体,用鼠标改变大小,在VC下如何实现,delphi下很简单就实现了?
  • 如何使鼠标拖动可以改变无边框的窗体的大小啊?
  • 无边框窗体,如何改变其窗口大小?
  • 再问,无边框对话框如何改变窗体大小?
  • 拖拉窗体改变边框大小,图像抖动厉害,怎么解决?
  • 关于用鼠标缩放窗体(FORM)大小的问题
  • 创建 无边框窗体

关键词

  • 鼠标
  • 窗体
  • 大小
  • 改变
  • 无边框
  • sendmessage
  • dllimport
  • sc
  • wm
  • const

得分解答快速导航

  • 帖主:devas

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo