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

重载WndProc问题,好想很难

楼主cymandhxl(迷失中)2006-07-03 14:29:44 在 .NET技术 / C# 提问

首先把窗体的边框设置为NOne  
  然后在窗体上放两个控件,一个代表做边框,一个带表右边框  
  如何在WndProc中判断鼠标停在在那个控件上(边框上)呢  
  如果不重载WndProc能不能实现呢  
  问题点数:20、回复次数:7Top

1 楼liujiwe79(专业做控件)回复于 2006-07-03 14:40:37 得分 5

这个没有必要用消息吧?你可以定义一个实例变量,当鼠标悬停在控件上为该变量赋值Top

2 楼cymandhxl(迷失中)回复于 2006-07-03 14:46:20 得分 0

可是如何判断“当鼠标悬停在控件上“?  
  Top

3 楼cymandhxl(迷失中)回复于 2006-07-07 08:38:02 得分 0

好象我没有说好。这个控件是别人写的,没有一点关于鼠标的事件(onmouse)  
  所以我才想到这个方法Top

4 楼bestyangfeng()回复于 2006-10-26 13:38:00 得分 5

计算鼠标的坐标是不少落在空间的范围之内Top

5 楼idda(碗掉了,头大个疤)回复于 2006-10-26 15:00:00 得分 5

把你的需求说出来吧,   想完成什么功能,   我觉得你把事情复杂化了,   为什么要放两个控件来做边框?   为的是调整窗体的大小么?   如果是这样,建议不要把窗体设为none,   直接屏蔽掉最大化,   最小华,   关闭按钮即可.Top

6 楼idda(碗掉了,头大个疤)回复于 2006-10-26 15:09:56 得分 5

哦,   如果是想不让窗体移动的话,   可以用消息来完成  
  private   const   int   WM_NCHITTEST   =   0x84;  
  private   const   int   HTCLIENT   =   0x1;  
  private   const   int   HTCAPTION   =   0x2;  
   
  protected   override   void   WndProc(ref   Message   m)   {  
  switch(m.Msg)   {  
  case   WM_NCHITTEST:  
  base.WndProc(ref   m);  
  if   ((int)m.Result   ==   HTCAPTION)  
  m.Result   =   (IntPtr)HTCLIENT;  
  return;  
  break;  
   
  }  
   
  base.WndProc(ref   m);  
  }  
   
  Top

7 楼cymandhxl(迷失中)回复于 2006-11-05 18:02:04 得分 0

直接屏蔽掉最大化,   最小华,   关闭按钮即可.  
  怎样屏蔽呢.在属性里设置吗.Top

相关问题

关键词

得分解答快速导航

  • 帖主:cymandhxl
  • liujiwe79
  • bestyangfeng
  • idda
  • idda

相关链接

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

广告也精彩

反馈

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