vc的学习在于点滴的积累,慢慢来!
SetWindowRgn 函数是设置了一个窗口的区域.只有被包含在这个区域内的地方才会被重绘,而不包含在区域内的其他区域系统将不会显示.
定义:
int SetWindowRgn(HWND hWnd, HRGN hRgn, BOOL bRedraw);
int SetWindowRgn(HRGN hRgn,BOOL bRedraw);
//在VC6.0基于对话框时候,该函数是这样的,有两个参数
参数:
hWnd
[in] Handle to the window whose window region is to be set.
窗口的句柄
hRgn
[in] Handle to a region. The function sets the window region of the window to this region.
If hRgn is NULL, the function sets the window region to NULL.
指向的区域.函数起作用后将把窗体变成这个区域的形状. 窗口的RGN的坐标体系不是屏幕坐标,而是
以窗口的左上角开始的
。
如果这个参数是空值,窗体区域也会被设置成空值,也就是什么也看不到.
bRedraw
[in] Specifies whether the system redraws the window after setting the window region. If bRedraw is TRUE, the system does so; otherwise, it does not.
Typically, you set bRedraw to TRUE if the window is visible.
这个参数是用于设置 当函数起作用后,窗体是不是该重绘一次. true 则重绘,false 则相反.
如果你的窗体是可见的,通常建议设置为 true.
EG:
CRect rc;
GetWindowRect(&rc);
CRgn m_rgn;
m_rgn.CreateEllipticRgn(10,25,rc.right-5,rc.bottom-5);
SetWindowRgn(m_rgn,true);