学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

帮个忙看看?

帮个忙看看?

来了竟然不见人,不是在打击我的积极性吗?

尽管如此,帖我还是要发的:

以下语句想创建一个非规则区域: CRect rcdlg; GetClientRect(rcdlg); CRgn rgn1,rgn2; rgn1.CreateEllipticRgn(0,0,rcdlg.Width()/3,rcdlg.Heigh()/3); //创建一个客户区1/3大小为边界的椭圆 rgn2.CreateEllipticRgn(0,0,rcdlg.Width(),rcdlg.Height()); //创建一个客户区大小为边界的椭圆 m_rgn.CombineRgn(&rgn1,&rgn2,RGN_DIFF);//问题就出在这一行,请问是为什么啊? //取得他们的非公共区域rgn1-rgn2 ::SetWindowRgn(GetSafeHwnd(),(HRGN)m_rgn,TRUE);

TOP

有人的,我也是刚来的,有点熟悉,不过我是搞口的,我可以发到信箱拿回去研究一下,我是邮箱是wxj505382@sohu.com,有了发给你。

TOP

CRgn   rgnA, rgnB, rgnC;

VERIFY(rgnA.CreateEllipticRgn(200, 100, 350, 250));
VERIFY(rgnB.CreateRectRgn( 0, 0, 50, 50 ));
VERIFY(rgnB.CopyRgn( &rgnA ));
int nOffsetResult = rgnB.OffsetRgn( -75, 75 );
ASSERT( nOffsetResult != ERROR || nOffsetResult != NULLREGION );

VERIFY(rgnC.CreateRectRgn( 0, 0, 1, 1));
int nCombineResult = rgnC.CombineRgn( &rgnA, &rgnB, RGN_AND );
ASSERT( nCombineResult != ERROR || nOffsetResult != NULLREGION );

CBrush brA, brB, brC;
VERIFY(brC.CreateHatchBrush( HS_FDIAGONAL, RGB(0, 0, 255) )); // Blue
VERIFY(pDC->FillRgn( &rgnC, &brC ));
VERIFY(brA.CreateSolidBrush( RGB(255, 0, 0) ));  // rgnA Red
VERIFY(pDC->FrameRgn( &rgnA, &brA, 2, 2 ));
VERIFY(brB.CreateSolidBrush( RGB(0, 255, 0) ));  // rgnB Green
VERIFY(pDC->FrameRgn( &rgnB, &brB, 2, 2 ));

TOP

发新话题