////////////////////////////////////
// ECCSkelton
// スティタスバークラス定義ファイル
// Copyright (c) August, 2022
//        By Ysama
////////////////////////////////////

class CSBAR : public CCTRL
{
public:		//メンバー変数

public:		//メンバー関数
	CSBAR();
	bool Init(HWND, HINSTANCE, int, DWORD);
	bool SetSection(int, int*);
	int GetText(int, LPCWSTR);
	bool SetText(int, LPCWSTR);
	bool AutoSize();
};

//コンストラクター(クラス設定とコモンコントロール初期化）
CSBAR::CSBAR() {

	m_lpClassName = STATUSCLASSNAMEW;	//ステータスバークラスの名称
	InitCommonControls();				//コモンコントロールの初期化
}

//スティタスバー作成･表示
bool CSBAR::Init(HWND hWnd, HINSTANCE hInstance,
				int ID,
				DWORD Style = WS_CHILD | WS_VISIBLE | SBARS_SIZEGRIP | SBT_TOOLTIPS) {

	return m_hWnd = CreateWindowExW(m_dwExStyle,
					m_lpClassName,
					NULL,
					Style, 0, 0, 0, 0,
					hWnd, (HMENU)ID, hInstance, NULL);
}

//スティタスバーの区分設定
bool CSBAR::SetSection(int w, int* wArray) {
	return SendMessage(m_hWnd, SB_SETPARTS, w, (LPARAM)wArray);
}

//スティタスバーの文字列取得
int CSBAR::GetText(int n, LPCWSTR str) {
	return LOWORD(SendMessageW(m_hWnd, SB_GETTEXTW, n | 0, (LPARAM)str));
}

//スティタスバーの文字列設定
bool CSBAR::SetText(int n, LPCWSTR str) {
	return SendMessageW(m_hWnd, SB_SETTEXTW, n | 0, (LPARAM)str);
}

//サイズ自動調整
bool CSBAR::AutoSize() {
	return SendMessage(m_hWnd, WM_SIZE, 0, 0);
}
