#pragma once #include "win32/Tab.h" #include #include class CTabHost : public Framework::Win32::CWindow { public: enum { NOTIFICATION_SELCHANGED = 0xA000, }; struct SELCHANGED_INFO : public NMHDR { uint32 selectedIndex; Framework::Win32::CWindow* selectedWindow; }; CTabHost(HWND, const RECT&); virtual ~CTabHost(); Framework::Win32::CWindow* GetTab(unsigned int); void InsertTab(const TCHAR*, Framework::Win32::CWindow*); int GetSelection(); void SetSelection(unsigned int); protected: long OnSize(unsigned int, unsigned int, unsigned int) override; LRESULT OnNotify(WPARAM, NMHDR*) override; private: typedef std::vector TabItemArray; void OnTabSelChanged(); std::unique_ptr m_tab; int m_currentSelection; TabItemArray m_tabItems; };