2012-04-04 48 views
0

主要目標是希望在應用程序的工具欄的繪圖區域中繪製Tab,以便筆記本或Tab使用上述空間而不是在工具欄下方。在工具欄上透支?替代想法?

我們使用的框架工作是WxWidgets,C++/C。我環顧四周,但一直沒能找到解決方案,或者如果有人已經在工具欄本身內部繪製標籤的方法做了類似的方法。

我閱讀了一些Microsoft MSDN文章,他們建議不要控制繪製控件。

我今天做了一些測試,並認爲我已經想出了一個解決方案。我的解決方案是像正常一樣繪製窗口,但是在子窗口中右側的NoteBook被動態調整大小和重新定位,以便它的標籤覆蓋在工具欄的頂部,以最有效地使用該區域。我將不得不處理焦點並失去焦點窗口消息,但這是我可以考慮完成任務的最優雅的方式。

任何想法的你可以推薦或問題的我可能會面對以下這種做法。

mockup

回答

1

我會擔心使用重疊的部件是這樣的。雖然它看起來可能看起來不一樣,但我建議您看看wxToolBook,它會將標籤放在工具欄中並解決您的問題,您可以使用GetToolBar方法插入自己的工具欄項目。

如果這還不夠接近視覺上你正在尋找實現我建議從wxBookCtrlBase派生新控件,然後創建與您可以添加使用wxToolBar::AddControl工具欄自定義繪製選項卡的標籤控制什麼。