我爱Aspx >> Asp.Net >> 多边形窗口当你看腻了矩形窗口后,你想不想改变你窗口的形状呢?你需要做的很简单。
产生一个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并起了形成自己所需要的形状。
如何在IE右键菜单中添加菜单项以..[05-05]
用VC++实现不规则窗口[05-05]
基于Winsock 的小型网络管理系统..[05-05]
怎样手工声明API[05-05]
多用户广告轮播的实现[05-05]
英文版软件编写语言使用技巧[05-05]
怎么利用PHP去ping一个地址[05-05]
利用VC++获取异构型数据库库结构..[05-05]
世界著名搜索引擎及其搜索格式[05-05]
Displays the indicated Windows..[05-05]