問題タブ [propertysheet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mfc - プロパティ シートのサイズ変更が Outlook バーのサイズに影響を与える
これは、OnSize
プロパティ シートのサイズを変更するための私の方法です。
ただし、プロパティ シートのルック アンド フィールを次のように変更すると、次のようになります。
次に、プロパティ シートのサイズを変更します。
OnSize
Outlook バーの幅をそのままにしておくにはどうすればよいでしょうか? 高さのサイズを変更するだけです。
この質問と関連する回答がありますが、Microsoft サポート技術情報の記事への回答のリンクが機能していません。いずれにしても、正しくOnSize
レンダリングするにはカスタマイズする必要があります。PropSheetLook_OutlookBar
何とかして ...
アップデート
Spy によると、それはツールバーです。
mfc - CPropertySheet のダイアログの垂直スクロールバーが機能しない
私はMFCの初心者です。プロパティ シートにダイアログが埋め込まれています。ダイアログはプロパティ シートよりも大きいため、一部が切り取られます。
そこで、垂直スクロールバーを追加する予定です。私は2つの方法を試しました。
- ダイアログ自体のツールボックスからスクロールバー コントロールを追加しました。
制御変数を作成しました。
以下のようにメッセージ マップを追加しました。
以下のコードを に追加OnInitDialog()
:
OnVScroll()
関数は次のようにオーバーライドされます。
この場合、スクロールバーは移動しますが、子コントロールは移動しませんか?
別の方法として、以下のようにプロパティ シートのスクロールバー コントロールを有効にしました
OnInitDialog
。上記のように設定
SCROLLINFO
します。
以下のOnVScroll
ように書かれています。
この場合、スクロールバーも移動しますが、子ダイアログは移動しませんか?
これについて私を助けてください。どの方法が正しいかわかりません。前もって感謝します。
mfc - CMFCPropertySheet の "ページ" リソースが動的レイアウトでサイズ変更されない
私は本当に混乱しています。:(
以下は、新しいプロパティ シートです。
に由来しCResizingMFCPropertySheet
ます。これはそのクラスのソースです:
https://www.dropbox.com/s/fzpfo4c3dpt6l51/ResizingMFCPropertySheet.cpp?dl=0
現在、このウィンドウには 2 つのページがあります。定義の 1 つを次に示します。
ページとして正しく設定されており、最初に IDE を介して制御データを設定しました。
CDialog
代わりにプロパティ シートを呼び出すようにアプリケーションを調整しました。シート自体のサイズ:
シート コントロールのサイズが自動的に変更されないのはなぜですか? 私はそれを理解していません。私の他のアプリケーションは同じ基本クラスを使用していますが、これらすべてのプロパティ ページは動的レイアウト機能を使用してコントロールなどのサイズを正しく変更しています。
アップデート
これを私のページの1つに追加しました:
「ページ」に実際に動的レイアウトマネージャーがないことを確認します。シートのみです。問題は、動的レイアウト メカニズムを使用できないことだと思います。
更新 2
私はいくつかの進歩を遂げました。例:
プロパティ ページは、ダイアログの場合のように動的レイアウト リソースをロードしていないようです。手動で作成し始めました:
ご覧のとおり、コントロールが移動するので進行状況です。しかし、現在の問題は、これらのページに多くのIDC_STATIC
コントロールがあり、ID 番号を変更したくないということです。これは、アプリケーションがローカリゼーション用の翻訳を既に持っているためです。ID 値を変更すると、翻訳が壊れてしまいます。[CMFCDynamicLayout::LoadResource][3]
そのため、この方法を使用してRCファイルから完全な設定をロードできるかどうか疑問に思っています. しかし、ここに電話する方法がわかりませんLoadResource
。それがこの質問に対する答えになると確信しています。
アップデート 3
コードをたどったところです。ここを見ると:
実際にはレイアウトが適切に機能していないようです。
私は使用しようとしました:
そして、私はそれを追跡しました。最終的にここにたどり着きました:
最初のステートメントで、ApplyLayoutDataTo
呼び出しに失敗しました:if
m_listCtrls.IsEmpty()
空でした。とにかく、それを適切に読み込んでいませんでした。
静的コントロールも含め、すべてのコントロールに ID を割り当て、動的レイアウトを手動で構築する以外に選択肢はないと思います。他のアイデアがない限り。