createroundrectrgn
场景:CreateRoundRectRgn创造圆角矩形
CreateRoundRectRgn创建圆角矩形
我想把对话框变成圆角矩形的,但是出了些问题。
CreateRoundRectRgn的前4个参数分别是左上角和右下角2个点的x,y后面2个是圆角矩形的圆角的长和高。
设置RGN代码如上。设置后出现了这个问题,实际看到的矩形的长款和实际在代码中获得的大小不一样!!
上图中整张图片是实际大小,而非黑色区域是视觉上看到的大小。为什么会这样。设置的矩形不应该和实际大小一样么?怎么才能让创建的圆角矩形和实际大小一样?
------解决方案--------------------
你希望Rgn和客户区一致?
CreateRoundRectRgn创建圆角矩形
我想把对话框变成圆角矩形的,但是出了些问题。
CreateRoundRectRgn的前4个参数分别是左上角和右下角2个点的x,y后面2个是圆角矩形的圆角的长和高。
CRect animRect;
GetClientRect(&animRect);
CRgn rgn;
rgn.CreateRoundRectRgn( animRect.left+3, animRect.top+2,animRect.right-2, animRect.bottom-1, 6, 6);
SetWindowRgn(rgn, TRUE);
设置RGN代码如上。设置后出现了这个问题,实际看到的矩形的长款和实际在代码中获得的大小不一样!!
上图中整张图片是实际大小,而非黑色区域是视觉上看到的大小。为什么会这样。设置的矩形不应该和实际大小一样么?怎么才能让创建的圆角矩形和实际大小一样?
------解决方案--------------------
你希望Rgn和客户区一致?
CRect animRect;
GetClientRect(&animRect);
CRgn rgn;
rgn.CreateRoundRectRgn(0,0,animRect.Width()+1,animRect.Height()+1, 6, 6);
SetWindowRgn(rgn, TRUE);