考えるのが面倒であればその項目を設定可能にしておけば後はユーザーが勝手に悩めばいいだけ。
でもやっぱ設定を実装するのがややこしかったりどう考えてもいらなさそうな問題もちらほら。
今現在悩んでいるのがタイトルバーの有無です。
ウィンドウ状態のネムぃにタイトルバーは必要なんだろうか。

どう考えても要らないんですよねぇ。
設定可能にすべきなのだろうか、悩むなぁ。
extern(Windows) int BrowseCallbackProc(
HWND hWnd,
UINT Message,
LPARAM lParam,
LPARAM lpData
)
//------------------------------------------------
typedef extern(Windows) BOOL function(
HWND,
LPWSTR,
DWORD,
DWORD*
) SHChangeIconDialogType;
SHChangeIconDialogType SHChangeIconDialog;
abstract class Gui {
protected HANDLE hItem;
this(HWND hWnd) {
hItem = hWnd;
}
final HWND opCall() {
return hItem;
}
/// 以下それっぽいコード
}
class Window: Gui {/* ... */}
class Control: Gui {/* ... */}
abstract class Button: Control {/* ... */}
class PushButton: Button {/* ... */}
class CheckButton: Button {/* ... */}
class RadioButton: Button {/* ... */}
class ToolBar: Control {/* ... */}