使用MFC,如何设置具有圆角和阴影的CEdit控件的样式?

时间:2016-07-26 14:42:56

标签: c++ visual-c++ mfc widget

我想为MFC应用程序中的客户端提供高度样式的表单元素。

我得出的结论是,在没有主要的自定义绘画/编程工作的情况下,MFC世界中“Web-2.0”风格的小部件根本不可能

我包含要比较的屏幕截图:

  • 所需的'Web 2.0'式编辑小部件
  • '最佳'编辑小部件 在MFC世界中直接可用

示例A:以下是使用HTML / CSS在Web编程世界中{随机选择的样式很好的编辑窗口小部件的屏幕截图,easily available and trivial to use

Web-2.0 style widgets are easy in HTML!

示例B:相比之下,这是从BCGSoft's MFC library's示例应用程序之一截取的屏幕截图。这个示例应用程序名为“编辑框演示”,并提供 - 似乎 - MFC Universe中可用的最佳编辑窗口小部件

The best MFC edit widgets don't cut it

您可以看到,易于使用的HTML编辑小部件与用于Windows桌面应用程序的看似最佳的MFC / C ++小部件之间存在“一代差异”。

因此我的问题很简单:如何在MFC中为圆角和阴影设置CEdit控件的样式?

1 个答案:

答案 0 :(得分:1)

只需指向您使用的示例B

使用CBCGPEdit覆盖OnNcPaint应该很简单直接。

但是!通常,您可以指示BCG使用可视化管理器,在这种情况下,可视化管理器将负责绘制控件框架。如果设计的话,视觉管理器会使用圆角......我知道甚至没有使用圆角的视觉管理器;)(CBCGPVisualManager::OnDrawControlBorder

但随意写自己的。