2

CViewいくつかの派生クラス (実際にはCScrollView) を使用してドキュメント データを表示するアプリがあります。ある特定のビューについて、フライアウト編集ボックスを追加してメモを追加したいと考えています。つまり、ウィンドウの下部に「Page Notes」というラベルの付いたタブが表示され、それをクリックすると編集ボックスが表示されます。編集ボックスが表示されているときにタブをクリックすると、タブだけに戻ります。

CTabCtrl編集ボックスを保持する1 つのタブを使用して、最初にタブのみが表示されるように配置できると考えました。タブのクリック通知をキャプチャし、編集ボックスを含むコントロール全体をビューに移動します。タブをもう一度クリックすると、タブが元に戻り、タブだけが表示されます。

のホストCTabCtrlCView問題なく、正しく配置できます。問題は、ビューがスクロールされた場合、タブ コントロールが一緒にスクロールされることですが、ビュー上に「浮かび」、スクロールの影響を受けないようにする必要があります。スクロール後に元の位置に戻すことはできますが、ちらつきが見苦しくなります。

「フローティング」効果を実現する簡単な方法はありますか? 「ページノート」機能を必要とするのは、使用中のいくつかのビュークラスの中で唯一のビュークラスであるため、主にメンテナンスのためにビューに埋め込まれたタブが必要です。

代わりに、ビューの親ウィンドウにタブを配置する必要がありますか? そこをスクロールしても影響を受けないことはわかっていますが、可能であればタブをビューの一部として保持するという考えが気に入っています。

4

1 に答える 1

1

タブがボタンのように機能しているように聞こえます。タブをクリックすると、フライアウト編集ボックスが表示されます。モードレス ダイアログを使用できます。「ページメモ」を選択すると、メモを編集するためのモードレスダイアログが表示され、ダイアログの下でビューをスクロールできます。

于 2012-03-02T20:35:37.497 に答える