编程实现[异型窗体] 续

一般实现异型窗体的方法是组合简单区域,复杂一点的使用位图逐点加入区域,这种方法速度较慢<br />windows提供了ExtCreateRegion 这个API函数,使我们可以制作一个区域生成器,将区域数据保存,需要时加载即可

HRGN hr; //区域句柄

LPRGNDATA prd; //区域数据指针

int ds;//数据大小;

hr = 生成区域…

ds = GetRegionData(hr, 0, NULL); //返回所需空间大小;

prd = new BYTE(dw); //分配空间

GetRegionData(hr, ds, ped); //获取数据

生成文件 name.rgn

写入 ds. WriteFile(hf,ds,sizeof(int));

写入 区域数据WriteFile(hf, prd, ds);

关闭文件;CloseFile(hf);

恢复区域的伪码

HRGN hr; //区域句柄

LPRGNDATA prd; //区域数据指针

int ds;//数据大小;

hr = 生成区域…

hf =OpenFile();

ReadFile(hf,ds,sizeof(int));

prd = new BYTE(ds);

ReadFile(hf,prd,ds);

hr = ExtCreateRegion(NULL, ds, prd);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值