如何使用win32 API使用VC ++创建椭圆形窗口

时间:2009-08-27 08:57:23

标签: winapi visual-c++

我正在使用VC ++通过win32 API创建一个窗口程序。我想创建一个椭圆形窗口,如何实现这一目标。

4 个答案:

答案 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)

嗯,这是迟到的回复,但我认为你知道这很重要。 有一个免费软件生成VB,C ++,C#和Delphi的源代码。你要做的就是在photoshop或任何画家设计你的表单,让软件检测你设计的形状并为你生成代码。您可以研究该代码或只使用它。不要忘记阅读帮助因为有一些与编译有关的问题。快乐塑造。 http://www.byalexv.co.uk/