不规则窗口的实现
0赞
发表于 2/18/2011 6:01:46 PM
阅读(2022)
最近在学习WinCE开发,其实和用VC开发没有太大的差别,
这里演示的是一个不规则界面的实现方式,例程窗口也很简单,只是两个矩形框的或操作。但要实现更复杂的窗口,从原理上来讲,是一回事,就是利用CRgn的与,或,或非等进行布尔运算,从而得到一个不规则的窗体。
这里用到的主要函数为:
m_wndRgn.CreateRectRgn(0, 0, cRect.Width(), cRect.Height());
VERIFY(rgnTemp.CreateRectRgnIndirect(&rc));
m_wndRgn.CombineRgn(&m_wndRgn, &rgnTemp, RGN_AND);
rgnTemp.DeleteObject();
VERIFY(rgnTemp.CreateRectRgnIndirect(&rc));
m_wndRgn.CombineRgn(&m_wndRgn, &rgnTemp, RGN_OR);
rgnTemp.DeleteObject();
SetWindowRgn((HRGN)m_wndRgn, TRUE);