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

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

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

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

我包括屏幕截图以进行比较:

  • 所需的“Web 2.0”风格的编辑小部件,以及
  • “最佳”编辑小部件 在 MFC 世界中直接可用

示例 A:这是一个(随机选择的)样式精美的编辑小部件的屏幕截图,即 easily available and trivial to use在使用 HTML/CSS 的网络编程世界中:

Web-2.0 style widgets are easy in HTML!

示例 B:相比之下,这里是截取自 BCGSoft's MFC library's 之一的屏幕截图示例应用程序。这个示例应用程序的标题是“编辑框演示”,它似乎提供了 MFC 世界中可用的最佳编辑小部件:

The best MFC edit widgets don't cut it

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

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

最佳答案

只是指向您使用的示例 B

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

但是!通常您可以指示 BCG 使用可视化管理器,在这种情况下,可视化管理器将负责绘制控件框架。并且视觉管理器将使用圆角,如果它被设计成这样做......我什至不知道使用圆角的视觉管理器;)(CBCGPVisualManager::OnDrawControlBorder)

但请随意编写您自己的。

关于c++ - 使用 MFC,如何设置带有圆角和阴影的 CEdit 控件的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38593009/

相关文章:

c++ - 在多文件项目中调用基类构造函数

c++ - 在编译时根据 printf 格式检查参数的可移植方式,C++

C++ Protobuf 到/从 JSON 转换

c++ - Visual Studio 的 CRT 中的 `_setmode` 如何与 `std::wcout` 交互?

events - 即使添加 ON_COMMAND 处理程序后,菜单项仍保持禁用状态

C++ 条件运算符与 if-else

c++ - 模板、静态变量等的冲突声明

c++ - MSVC2005 std::_Iterator_base::function 在调试时速度缓慢

c++ - 在 MFC C++ 中删除功能区栏

c++ - 如何在 C++ 中向 MFC 项目添加另一个 gui