2

我不喜欢原生尺寸边框的样子:

看到蓝色边框了吗?

我想改用这种花哨的紫色边框: 在此处输入图像描述

我应该手动实现自己的大小边框,还是应该继续使用WS_THICKFRAME 窗口样式并自定义它?

如果我可以自定义它,我希望它也能在没有讨厌的黑客的情况下完成......

4

2 回答 2

1

您可以通过在窗口类型标志中指定 WS_POPUP 标志来创建没有边框和标题栏的窗口。

WM_NCHITTEST 消息的处理程序必须检查某个像素真正属于窗口的哪个部分(例如树脂化框架)并返回该部分的代码。

缺点:您必须自己绘制整个窗口内容(包括标题等)。

于 2013-10-19T19:58:31.297 回答
0

我认为您应该实现自己的重绘过程(例如在底部绘制一个紫色矩形,然后在角落绘制一个图标)。如果你想让你的窗口类似于 VS2013 窗口,那么你应该使用WS_POPUP样式,然后实现你自己的重绘例程。如果您想自定义窗口的窗体,您可以使用区域(SetWindowRgn()CreateRectRgn()CreateRoundRectRgn()CreateEllipticRgn()CreatePolygonRgn()等)。一般来说,使用 WinAPI 您可以做任何事情,但您是否仅限于 WinAPI?使用 MFC 或 Windows 窗体使创建窗口界面更容易是个好主意。

于 2013-10-19T17:48:30.000 回答