用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧Visual C++

多边形窗口

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 20:33:56

多边形窗口

闻怡洋

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

产生一个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并起了形成自己所需要的形状。

 


Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

相关文章

PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:22,093.75000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号