我正在使用VC ++通过win32 API创建一个窗口程序。我想创建一个椭圆形窗口,如何实现这一目标。
答案 0 :(得分:6)
在Windows样式属性中使用WS_EX_LAYERED
,并且调用UpdateLayeredWindow
可能是使用Win32 API控制自定义整形/透明窗口的最灵活方式。在MSDN上有一个很好的分解(虽然有点旧):
http://msdn.microsoft.com/en-us/library/ms997507.aspx
UpdateLayeredWindow的官方文档: http://msdn.microsoft.com/en-us/library/ms633556(VS.85).aspx
答案 1 :(得分:1)
使用SetWindowRgn使窗口的绘图区域成为椭圆区域。这样可以防止向窗口绘制超出椭圆边界的内容。
答案 2 :(得分:1)
使用SetWindowRgn的唯一问题是区域很难创建完全任意的形状。
Windows 2000引入了分层窗口来解决这个问题,而且气候如何能够逃脱窗口的限制。
有关分层窗口的信息,请参阅http://msdn.microsoft.com/en-us/library/ms997507.aspx。
答案 3 :(得分:1)