使用win32 TabItem包含数据

时间:2012-07-22 10:25:44

标签: c++ winapi tabcontrol win32gui

我正在使用Win32作为我的GUI。

我有TabControl和TabItem类。 TabItem类只保存TCITEM结构,TabControl-> AddTab方法将TabItem作为参数并访问该结构。

class TabItem {
public:
    TabItem(LPWSTR lpszText);
    ~TabItem();
public:
    TCITEM* GetItem();
private: (... there is more data here, related to the actual page contents)
    TCITEM* m_pItem;
};

class TabControl {
public:
    TabControl(HWND hWnd, INT iX, INT iY, DWORD dwWidth, DWORD dwHeight);
    ~TabControl();
public:
    VOID AddTab(TabItem* tiTab);
    VOID RemoveTab(INT nIndex);
    VOID ClearTabs();
    VOID SetSelectedItem(INT nIndex);
    INT GetSelectedItem();
    INT GetFocusedItem();
    VOID SetPadding(INT iPaddingX, INT iPaddingY);
private:
    HWND m_hWnd;
};

添加标签页:

TCITEM* TabItem::GetItem()
{
    return this->m_pItem;
}

...

TabCtrl_InsertItem(this->m_hWnd, TabCtrl_GetItemCount(this->m_hWnd), tiTab->GetItem());

添加选项卡后,可以重新排列,向左/向右移动等。我遇到的问题是我需要根据选项卡索引获取TabItem类的句柄(即:TabCtrl_GetSelected返回的一个) ),因为TabItem类包含标签页实际内容的附加信息。我不确定该怎么做。

0 个答案:

没有答案