cppfl - C++ Form Library
C++で簡単にGUIアプリを作れるライブラリ. ほとんどがヘッダファイルで構成されているので, includeするだけで簡単に利用可能です.
以前,kwuiという名前で公開していたもののなれの果てです.
実用には耐えません. 実験目的の使い捨てなプログラムを書くときは普段から使ってますが.
説明は無いのでソースを見てください(とても汚いですが…). ハンドルやメモリ管理の怪しいクラスが幾つかあります. 誰かC++でGUIアプリケーションが気楽に書けるライブラリ知ってたら教えてください.
方針
- 単なるヘッダファイルなのでincludeするだけ
- GUIアプリケーションでも普通のmain関数から実行
- BASICやHSPみたいな手軽さが理想
- 使うときはオブジェクト指向いらない
- DFL や .NET の Form っぽく
- 内部が汚くても楽するためなら目を瞑る
- 今のところWin32 + VC++専用.そのうちgtk+とかにも移植したい
ダウンロード
- ダウンロード:cppfl.zip (Win32) ver. 2010-07-09 (何か修正)
- git: https://github.com/binzume/cppfl
svn: http://binzume.googlecode.com/svn/cppfl/trunk/
簡単なサンプルが同梱されています.
GUI以外(Windows以外でも使えます)
- スレッドを使いたい場合は:thread.h (Win32/その他)
- ソケット:socket.h (Win32/その他)
- ODBC:db.h (Win32/その他)
- HTTPクライアント:http.h (Win32/その他)
- JSONパーサ:json.h (Win32/その他)
- std::stringを少し拡張:stringex.h
- ファイルとディレクトリを扱う:file.h (Win32/その他)
- 文字コード変換:encode.h (Win32/その他)
- HTML/XMLパーサ:htmlparser.h (Win32/その他)
- base64関数:base64.h
使い方
ソースファイルがあるディレクトリにヘッダファイルが入った kwuiディレクトリをコピーしてください.
ソースの先頭に,
#include "cppfl/all.h"
と入れると,cppflのほとんどの機能が使えます. ディレクトリは,ご自分の環境に合わせてください.
分割コンパイルとかすると悲惨なことになるので, all.hは一つのソースファイルからしかインクルードしないでください. 実装を含まない,all_h.h が使えるかもしれません.
文字コードはマルチバイトで.
all.hにはリンカオプションが書かれているので,VC++なら
cl sample.cpp
とするだけで,コンパイルできます.IDEと相性が悪いかもしれません.
.NETみたいなフォーム

#include "cppfl/all.h"
int main()
{
Form myForm("Formサンプル",320,240);
Label myLabel("Hello, world!");
myLabel.size(300,40);
myLabel.font(Font("MS ゴシック",40));
myForm.add(myLabel,10,80);
wait(myForm);
return 0;
}
BASICみたいなグラフィック関数も

#include "cppfl/all.h"
int main()
{
BitmapWindow bw("sample", 640, 480);
bw.print("Hello, world!");
bw.color(Color::red);
bw.circlef(320, 240, 100);
wait(bw);
return 0;
}
リファレンス
準備中
履歴
- 2007-12-22 公開
- 2009-11-27 cppflと改名
- 2009-12-01 イベント周りの改装
- 2009-12-03 http.hが入っていなかったので追加 定義済みの色増やした
- 2009-12-06 http.hでGETのときにURLと別にパラメータを渡せるように
- 2010-07-08 base64.hを追加