Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > WIN32 SDK编程拾遗(3)-不规则窗口
【标  题】:WIN32 SDK编程拾遗(3)-不规则窗口
【关键字】:WIN32,SDK
【来  源】:http://blog.csdn.net/benfaung/archive/2006/09/28/1299682.aspx

WIN32 SDK编程拾遗(3)-不规则窗口

Your Ad Here 1,创建非矩形窗口

是不是觉得创建一个非矩形的窗口很神秘?其实很简单。

在窗口初始化的时候,比如WM_CREATE消息处理中,调用:
SetWindowPos函数就可以了。这个函数主要是把一个HWND区域设置成HRGH的形状。所以只要创建一 个HRGH类型的不规则形状就可以了,比如hrgn = CreateEllispticRgn(0, 0, 200, 200),在调用 SetWindowPos(hwnd, hrgn, TRUE),这就把窗口置成一个圆形了。
注意,hrgn的区域大小要比hwnd的区域范围小,这样才能剪裁掉多于的部分。

2,不用点击标题栏就可以拖动窗口

其实实现思路也就是在鼠标左键点击窗口其他部分进行拖动的时候,把窗口其他部分模拟成标题栏 ,也就是对windows系统进行一种欺骗。

在WM_LBUTTONDOWN消息下这么处理:
SetCursor(LoadCursor(NULL, IDC_WAIT));
UpdateWindow(hwnd);
ReleaseCapture();
SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0);
SetCursor(LoadCursor(NULL, IDC_ARROW));

其中,SendMessage那条语句就是用来把窗口其他部分模拟成标题栏的。开头结尾两句是用来设置 光标形状的。

很简单吧? 
行政区划程序的设计(六):【上一篇】
原创:在visual studio 2005 中制做 combox (asp.net,C#.net):【下一篇】
【相关文章】
  • WIN32下DELPHI中的多线程【深入VCL源码】(一)
  • WIN32 汇编写的加密解密软件
  • linux下安装 j2sdk
  • 用C++简单封装SDK做自己的窗口类
  • 小心 alice 发来的带 Email-Worm.Win32.Warezov.aj 的邮件
  • 单独使用.net SDK 编译C#
  • 实战-在win32环境下进行zlib编程1[原创]
  • Win32 API概论
  • PhysX SDK物理引擎开发包使用教程
  • VS05 SDK 3.0 & DSL Tools 1.0
  • 【随机文章】
  • Java 理论与实践:让 J2EE 脱离容器
  • 获取桌面窗口图象
  • 看到一篇好文章推荐给大家:postfix邮件服务器安全策略
  • 如何在linux下使用虚拟光驱
  • java文件操作实例
  • 源码推荐——SQL SERVER结构浏览器
  • 编译redhat9.0内核2.4.20 > 2.6.11(第一次编译,修改测试中!未完成)
  • Linux 的版本控制
  • 对象和集合
  • JScript 方法 - charCodeAt 方法
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.