問題タブ [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.

0 投票する
1 に答える
105 参照

mfc - プロパティ シートのサイズ変更が Outlook バーのサイズに影響を与える

これは、OnSizeプロパティ シートのサイズを変更するための私の方法です。

ただし、プロパティ シートのルック アンド フィールを次のように変更すると、次のようになります。

次に、プロパティ シートのサイズを変更します。

アウトルック バー

OnSizeOutlook バーの幅をそのままにしておくにはどうすればよいでしょうか? 高さのサイズを変更するだけです。

この質問と関連する回答がありますが、Microsoft サポート技術情報の記事への回答のリンクが機能していません。いずれにしても、正しくOnSizeレンダリングするにはカスタマイズする必要があります。PropSheetLook_OutlookBar何とかして ...

アップデート

Spy によると、それはツールバーです。

スパイ結果

0 投票する
1 に答える
1421 参照

mfc - CPropertySheet のダイアログの垂直スクロールバーが機能しない

私はMFCの初心者です。プロパティ シートにダイアログが埋め込まれています。ダイアログはプロパティ シートよりも大きいため、一部が切り取られます。

そこで、垂直スクロールバーを追加する予定です。私は2つの方法を試しました。

  1. ダイアログ自体のツールボックスからスクロールバー コントロールを追加しました。

制御変数を作成しました。

以下のようにメッセージ マップを追加しました。

以下のコードを に追加OnInitDialog():

OnVScroll()関数は次のようにオーバーライドされます。

この場合、スクロールバーは移動しますが、子コントロールは移動しませんか?

  1. 別の方法として、以下のようにプロパティ シートのスクロールバー コントロールを有効にしましたOnInitDialog

    上記のように設定SCROLLINFOします。

以下のOnVScrollように書かれています。

この場合、スクロールバーも移動しますが、子ダイアログは移動しませんか?

これについて私を助けてください。どの方法が正しいかわかりません。前もって感謝します。

0 投票する
1 に答える
346 参照

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 を割り当て、動的レイアウトを手動で構築する以外に選択肢はないと思います。他のアイデアがない限り。