smartwin++
SmartWin++是一个100%免费的c++ GUI与soap开发库.
可以用来开发基于个人电脑,掌上电脑,windows mobie 或者windows CE系统上的界面应用程序.使用SmartWin++即可以开发开源应用程序,也可以用于开发商业应用程序,得益于SmartWin++基于BSD 许可权.
SmartWin++的初衷是用于替代windows的MFC与WTL库.由于WineLib的出现,现在SmartWin++同样可以用于非windows系统上的开发.
SmartWin++内部大量使用了STL与boost库,对STL完全兼容.
SmartWin++项目主页:http://smartwin.sourceforge.net/
用SmartWin++开发的Hello程序:
#include "SmartWin.h"
using namespace SmartWin;
class TestWin : public WidgetFactory< WidgetWindow, TestWin >
{
public:
TestWin(){}
void onPaint(SmartWin::Canvas &c)
{
SmartWin::Rectangle rc(getClientAreaSize());
c.drawText(_T("Hello"), rc, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
}
void isResized(const SmartWin::WidgetSizedEventResult &sz)
{
updateWidget();
}
void Init()
{
this->createWindow();
this->setBounds(100,100,300,300);
this->setText(_T("标题栏"));
this->onPainting(&TestWin::onPaint);
this->onSized(&TestWin::isResized);
}
};
int SmartWinMain(Application &app)
{
TestWin *t = new TestWin;
t->Init();
return app.run();
}
现在的最新版本是:smartWin 2.0 BETA
smartWin++ 支持的编译器有:
* Microsoft Visual C++ 2003
* Microsoft Visual C++ 2005
* Microsoft Visual C++ 2008
* MinGW/gcc 3.4(及更高版本)