在这个示例中,我们将使用Nana库创建一个图形界面的计算器。这个计算器的界面看起来是这样的。
界面的布局,使用nana::place可以很方便地实现这个界面。
现在我们开始编码。
#include <nana/gui.hpp>
#include <nana/gui/widgets/button.hpp>
#include <nana/gui/widgets/label.hpp>
#include <nana/gui/place.hpp>
using namespace nana;
struct stateinfo
{
enum class state{init, operated, assigned};
state opstate{state::init};
wchar_t operation{L'+'};
double oprand{0};
double outcome{0};
label & procedure;
label & result;
stateinfo(label& proc, label& resl)
: procedure(proc), result(resl)
{}
};
//这里省略掉定义.
//完整的定义请查阅calculator.cpp
//处理数字键
void numkey_pressed(stateinfo& state, const arg_mouse&