Gtk::MenuBar *SmartChessWindow::createMenuBar() {
        Glib::RefPtr<Gtk::ActionGroup> action_group = createActionGroup();

        mUIManager = createUIManager(action_group);

        Gtk::Widget* menu_bar = mUIManager->get_widget("/MenuBar");
        if(nullptr == menu_bar)
            cerr << "Could not create the menu bar" << endl;

        menu_bar->set_hexpand(false);
        menu_bar->set_vexpand(false);

        return dynamic_cast<Gtk::MenuBar*>(Gtk::manage(menu_bar));
    }
// ---------------------------------------------------------------------
LRESULT WinSkinWindow::onCreate(
	HWND hWnd,		// ウィンドウハンドル
	UINT uMsg,		// WM_CREATE
	WPARAM wParam,	// 利用しないパラメータ
	LPARAM lParam	// ウィンドウ作成情報を持つ CREATESTRUCT 構造体へのポインタ
)
{
	if (-1 == base::wndProc(hWnd, uMsg, wParam, lParam))
	{
		return -1;
	}

	// ツールチップウィンドウの作成
	hToolTipWnd = ::CreateWindowEx(NULL, TOOLTIPS_CLASS, NULL,
						WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,
						CW_USEDEFAULT, CW_USEDEFAULT,
						CW_USEDEFAULT, CW_USEDEFAULT,
						hWnd, NULL, CHrnApp::GetAppObject()->GetInstanceHandle(),
						NULL);
	::SendMessage(hToolTipWnd, TTM_ACTIVATE, static_cast<WPARAM>(TRUE), 0);
	
	// UI マネージャを作成
	if (NULL != uiManager)
	{
		deleteUIManager(uiManager);
	}

	try
	{
		uiManager = createUIManager();
	}
	catch (Exception* ex)
	{
		ExceptionMessageUtils::DoExceptionMessageBox(CoveredCalcApp::GetInstance(), ex, MessageBoxProvider::ButtonType_OK, MessageBoxProvider::AlertType_Warning);
		ex->Delete();
		return -1;
	}
	
	// MessageFilter として自分自身をインストール
	WinCoveredCalcApp::GetInstance()->InstallMessageFilter(this);

	// register CoverChangedEventHandler
	CoverManager* manager = CoveredCalcApp::GetInstance()->GetCoverManager();
	manager->RegisterCoverChangeEventHandler(this);

	return 0;
}
// ---------------------------------------------------------------------
//! Initializes the object
// ---------------------------------------------------------------------
void BeSkinView::Init()
{
	BeToolTipWindow* toolTipWindow = new BeToolTipWindow();
	toolTipWindow->Init(this, "");
	toolTipMessenger = new BMessenger(toolTipWindow);

	if (NULL != uiManager)
	{
		deleteUIManager(uiManager);
	}
	
	uiManager = createUIManager();

	// register CoverChangedEventHandler
	CoverManager* manager = CoveredCalcApp::GetInstance()->GetCoverManager();
	manager->RegisterCoverChangeEventHandler(this);
}