1

我有一个用 VC6 的 MFC 编写的旧图形应用程序,我正在尝试迁移到更符合标准的 C++ 框架。我在这里查看了 nana 项目的文档,试图找到一个基本示例,用于在类似于Visual C++ 附带的旧涂鸦 MDI 绘图示例的类似画布的小部件上涂鸦。

我读到 nana 是一个新的有前途的 c++ GUI 平台,我想知道它是否适合一般的 GUI 编程。然而,查看 nana 文档,只有按钮、列表框等示例。我找不到任何关于图形功能的提及,例如在画布(或内存中的位图)上绘图,这些功能通常在 MFC 或 wxWidgets 等其他 GUI 库中找到。

有谁知道 nana 项目是否可以支持图形操作,例如 VC++scribble示例的底层操作?更具体地说,MS Visual Studio 的示例文件夹中的涂鸦示例演示了响应鼠标事件而徒手绘制曲线、存储曲线并在视口进行缩放和平移时刷新客户区域(即处理逻辑与图像/像素坐标系)。这些是我一直在寻找的图形 API 支持。

谢谢。

4

1 回答 1

2

我在 MS 上找不到示例,我不确定您需要什么。你可以试试这个链接:

在 docs: drawing wrapperhier中,设置绘图功能。

在 doxy-docs:绘图

绘图函数可以使用:graphics

这边走:

#include <nana/gui/wvl.hpp>

int main()
{
    using namespace nana;

    form fm;
    drawing dw(fm);
    dw.draw([](paint::graphics& graph)
    {
        graph.rectangle(rectangle{5, 5, 50, 50}, true, colors::red );
        graph.line(point(5, 5), point(55, 55), colors::white);
    });

    dw.update();
    fm.show();
    ::nana::exec();
}

在此处输入图像描述 希望能帮助到你

于 2015-03-19T11:28:04.933 回答