Nana 0.8发布了

Nana 0.8 发布了,该版本中更改了一些接口,新的接口将于老版本的不兼容。另外从这个版本器,不在包含对C++03的支持,在编译器方面,也不再支持VS2012,VS2013成为微软编译器的最低要求版本,因为0.8使用了一些C++11的特性。这些部分的修改大约减少了2千行代码。


namespace gui

命名空间gui已经被移出,原本在gui命名空间中的名字全部移到命名空间nana中。

nana::form fm;
nana::button btn;

全新的可扩展的事件系统

form.make_event([]{});   //以前的方式,已被废除
form.events().click([]{});      //新的

treebox.ext_event().selected([](window, treebox::item_proxy, bool sel){});  //以前的方式,已被废除
treebox.events().selected([](const arg_treebox&){});                //新的
treebox.events().selected([]{});    //新的,可以忽略掉参数

通过窗口句柄来注册事件。

API::make_event(window_handle, []{});    //以前的方式,已被废除
API::events(window_handle).click([]{});         //新的
API::events(window_handle).selected([]{}); //OK, 当窗口句柄引用的是一个treebox时。

Class place

place::fixed()和place::room()方法已被移除。

参考place的文档,查看新的min/max/arrange/collapse/gap属性。


class notifier替换掉class tray

类noifier的作用是在通知区创建一个图标,目前这个类只工作在Windows上。


接收拖拽文件

现在,注册mouse_dropfiles时,窗口不会自动开启接收拖拽文件的功能。要开启此功能,需要调用widget的enable_dropfiles()或者API::enable_dropfiles()。


API::wait_for()函数

wait_for(window_handle) 会阻塞当前调用函数的执行,直到由window_handle指定的窗口被关闭。该函数与API::modal_window()不同,它不会阻止于其他窗口的交互。


你可能感兴趣的:(GUI,Nana,C++,Library)