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

Winapi 如何用VC+创建椭圆窗口+;使用win32 API,winapi,visual-c++,Winapi,Visual C++,我正在通过win32 API使用VC++创建一个窗口程序。我想创建一个椭圆形状的窗口来实现这一点 用于将窗口的绘图区域设置为椭圆形区域。这可以防止绘制到超出椭圆边界的窗口。使用SetWindowRgn的唯一问题是区域很难创建完全任意的形状 Windows 2000引入了分层窗口来解决这个问题,clippy就是这样摆脱了窗口的限制 有关分层窗口的信息,请参见。在windows样式属性中使用WS_EX_layered,调用UpdateLayeredWindow可能是使用Win32 API控制自定义形

我正在通过win32 API使用VC++创建一个窗口程序。我想创建一个椭圆形状的窗口来实现这一点

用于将窗口的绘图区域设置为椭圆形区域。这可以防止绘制到超出椭圆边界的窗口。

使用SetWindowRgn的唯一问题是区域很难创建完全任意的形状

Windows 2000引入了分层窗口来解决这个问题,clippy就是这样摆脱了窗口的限制


有关分层窗口的信息,请参见。

在windows样式属性中使用
WS_EX_layered
,调用
UpdateLayeredWindow
可能是使用Win32 API控制自定义形状/透明窗口的最灵活方法。MSDN上有一个极好的分解(尽管有点旧):

和UpdateLayeredWindow的正式文档:

好吧,这么晚才回复,但我想你应该知道。 有一个免费软件生成VB、C++、C语言和Delphi的源代码。你所要做的就是在PS图象处理软件或任何画家中设计你的表单,让软件检测你设计的形状并为你生成代码。您可以研究该代码,也可以直接使用它。不要忘记阅读帮助,因为编译时会遇到一些问题。快乐塑造。