nana专题

nana gui 拖拽改变控件大小

模仿simulink通过拖拽改变block的大小。 步骤: 检测是否在边缘如果在边缘改变光标形状,提示用户可以改变控件大小了按下鼠标左键,移动光标,控件的选中边随光标位置移动松开左键,该动作结束 使用函数size(rectange(int x,int y,int w,int h));

nana gui 控件拖拽

控件拖拽使用的是gui::dragger 操作方法是 dragger dg;dg.trigger(*this);dg.target(*this); *this是控件 如果控件有好多,一个dragger无法操作多个控件,原因是一个dragger只记录了一个控件的拖拽状态。 所以可以在控件的类里增加一个dragger成员,这样每新建一个控件,就会伴随新建一个dragger。 #ifnd

nana初体验,菜单和可移动按钮

建立了一个带有菜单的窗口, 菜单 File选项一“new block”,点击后新建一个block,File选项二“exit”,点击后退出。 每个block都可以拖动 注意的是append(“new block”,[&fm](menu::item_proxy& ip){}) 这是个lambda匿名函数,C++11新特性,[]中是函数引用的外部变量,()内是参数,{}中是函数正文。 #i

c++界面库nana------spinbox

//spinbox void testspinbox() {     using namespace nana;     form fm;     spinbox spbox(fm, rectangle{ 10, 10, 100, 30 });     spbox.range(0, 100, 1); //Set the range of integers     fm.show();

c++界面库nana------checkbox

// Basedemo.cpp : 定义应用程序的入口点。 // #include "stdafx.h" #include "Basedemo.h" #include <nana/gui.hpp> #include <nana/gui/widgets/checkbox.hpp> //checkbox void testcheckbox() {     using namespace nana

c++界面库nana------button

#include <nana/gui.hpp> #include <nana/gui/widgets/button.hpp> //button void testbutton() {     using namespace nana;     form fm;     button lb(fm, rectangle(20, 20, 120, 30));     lb.caption(L"Hell

c++界面库nana------label

Nana C++库是由国人Jinhao开发的开源GUI框架库,类似标准库和boost代码风格,很“现代”,包含GUI、线程以及文件系统等函数和类。目前支持windows和Linux X11平台。 下载之后build目录里面直接包含有vs2013,15,17解决方案,只需要打开编译即可,编译之后会生成静态库,使用的时候只需要链接到静态库即可。 第一个使用实例如下: #include <nana