0

主な目的は、NoteBook のアプリケーションのツールバーの描画領域内にタブを描画すること、またはタブがツールバーの下にある代わりに上のスペースを使用することです。

私たちが使用しているフレームワークは、WxWidgets、C++/C です。私は周りを見回しましたが、解決策を見つけることができませんでした。または、誰かが実際にツールバー自体の中にタブを描画して同様のアプローチを行った場合。

Microsoft MSDN の記事をいくつか読みましたが、コントロールをコントロールの上に描画しないことを推奨しています。

今日、いくつかのテストを行い、解決策を思いついたと思います。私の解決策は、通常のようにウィンドウを描画することですが、動的にサイズ変更および再配置される子ウィンドウの右側に NoteBook を配置して、領域を最も効果的に使用するためにタブがツールバーの上にオーバーレイされるようにします。オン フォーカスとロスト フォーカス ウィンドウ メッセージに対処する必要がありますが、これは、タスクを達成するために考えることができる最もエレガントな方法です。

あなたが推奨できるアイデアや問題は、このアプローチに従うことで直面する可能性があります。

モックアップ

4

1 に答える 1

1

このように重複するウィジェットを使用することは心配です。視覚的にはまったく同じに見えないかもしれませんが、ツールバーにタブを配置して問題を解決するwxToolBookGetToolBarを見ることをお勧めします。この方法を使用して、独自のツールバー項目を挿入できます。

それが達成しようとしているものに視覚的に十分に近くない場合は、wxBookCtrlBaseから新しいコントロールを派生させ、 wxToolBar::AddControlを使用してツールバーに追加できるカスタム描画タブを持つタブ コントロールを作成することをお勧めします。

于 2012-04-11T08:29:59.933 に答える