有谁知道Windows的RGN文件格式是怎么弄的!

Barks 2006-11-01 02:27:02
我有一个显示Windows窗口的库,上面有下面这段话,主要就是加载RGN文件中的内容到内存中,
然后调用ExtCreateRegion根据根据内存中的内容设置Windows窗口区域,但是我不知道RGN文件是
怎么弄的,有谁知道RGN文件格式如何生成啊?
...全文
369 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
LiChenYue 2006-12-17
  • 打赏
  • 举报
回复
显示自己定义形状的窗口吗?顶一下。
thisisll 2006-11-02
  • 打赏
  • 举报
回复
没见过rgn文件
希望下面的内容能帮上你


http://topic.csdn.net/t/20000717/14/15566.html


当你看腻了矩形窗口后,你想不想改变你窗口的形状呢?你需要做的很简单。

产生一个CRgn对象,并调用int CWnd::SetWindowRgn( HRGN hRgn, BOOL bRedraw );

下面将讲述具体方法:

在窗口的OnCreate中(窗口必须为WS_POPUP风格,其它的我没有试过)下面的代码将创建一个三角形的窗口。

int ctW::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CWnd::OnCreate(lpCreateStruct) == -1)
return -1;
POINT pt[3];
pt[0].x=100;
pt[0].y=20;
pt[1].x=0;
pt[1].y=150;
pt[2].x=180;
pt[2].y=150;

m_rgn.CreatePolygonRgn(pt,3,WINDING);
SetWindowRgn(m_rgn,1);

// TODO: Add your specialized creation code here

return 0;
}

CWnd::GetWindowRgn(...)将通过返回值告诉你该多边形是否为一个单独的矩形。
请注意该RGN坐标是以原来窗口的矩形为零点坐标的而不是以屏幕坐标为零点坐标。你可以利用CRgn::CombineRgn(...)将多个RGN并起了形成自己所需要的形状。

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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