balor と WIN32 API の連携

balor は WIN32 API と連携しやすいように作られています。
balor の多くのクラスは WIN32 API に登場するハンドルのラッパーとして振舞います。
例えば Control クラスとその派生クラスは HWND ハンドルのラッパーです。
このようなラッパークラスでは HWND ハンドルへの自動変換(operator HWND())が用意されます。

	Frame frame(L"test");
	Button button;

	// operator HWND() は null チェックにも使用できる。
	if (!button) {
		button = Button(frame, 0, 0, 0, 0, L"button");
		// HWND を引数に取る WIN32 API にそのまま渡す事ができる。
		HWND parent = GetParent(button);
	}

以下は、クラスと WIN32 API ハンドルの対応表です。

クラス ハンドル
Bitmap HBITMAP
Brush HBRUSH
Cursor HCURSOR
Font HFONT
Graphics HDC
Icon HICON
ImageList HIMAGELIST
Pen HPEN
Region HRGN
Control とその派生クラス HWND
Menu::Item HMENU
FileStream HANDLE
Registry HKEY
Module HMODULE/HINSTANCE