問題タブ [mfc-feature-pack]

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 に答える
3239 参照

c++ - MFCでCFrameWndをCFrameWndExに変更すると、未処理の例外が発生します-アイデアはありますか?

まだこのMFCヒバリに慣れていて、私はこの特定の問題でレンガの壁にぶつかりました。MFC Feature Packで利用可能なより洗練されたコントロールのいくつかを使用するために、いくつかのレガシーコードを更新しています。

古いMFCアプリを更新するためにオンラインで提供された例に従って、基本アプリケーションクラスをCWinAppExに変更すると正常に機能しますが、CFrameWndをCFrameWndExに変更すると、mfc90d.dll!AFXGetRegPathのどこかからデバッグアサート失敗エラーメッセージが表示されます。このメッセージを無視すると、多数の0xC0000005:アクセス違反エラーが発生します。

これを修正する方法についての提案をいただければ幸いです。

乾杯。

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

visual-studio-2008 - CMFCRibbonEdit でコンテンツを自動的に大文字に変換するにはどうすればよいですか?

Visual Studio 2008 で MFC 機能パックを使用しています。リボンに編集ボックス (CMFCRibbonEdit) があり、大文字のみを含めたいと考えています。ES_UPPERCASE を「Create」メソッドに渡すことができることはわかっていますが、「Create」はコードによって明示的にではなく、リボン自体から呼び出されます。

編集ボックスをリボンに追加するには、次のように呼び出します。

MSDN で読んだ内容に基づいて、CMFCRibbonEdit の "CreateEdit" 関数をオーバーロードできることがわかりました。私はそれを試しましたが、うまくいきませんでした。

また、リボンとそのコントロールを初期化した後、この呼び出しを試みました。これもうまくいきませんでした。

どうすればこれを達成できるか知っている人はいますか?

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

visual-c++ - RibbonStatusBarPane のテキストの色を変更するには?

私のアプリケーションは MFC リボン (VS2008 + Feature pack9) を使用しています。RibbonStatus バー ペインのテキストの色を変更できません。仮想 int DrawPaneText(CDC* pDC, const CString& strText, CRect rectText, UINT uiDTFlags) 関数をオーバーライドしましたが、うまくいきません。

非リボン ステータス バーには、ペインのテキストの色を変更するための関数 void SetPaneTextColor(int nIndex, COLORREF clrText = (COLORREF)-1 , BOOL bUpdate) があります。

MFCRibbonStatusBarPane でこれを行う方法は?

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

c++ - CMainFrameでAltキーを押したを破棄します

私は次のコードを持っています:

問題は、を押す<ALT>とメニュー(IDR_APP_MAINFRAME)がポップアップすることです。メニューを常に非表示にして、プレスに応答しないようにするにはどうすればよいですか?

これはMFCのアクセラレータ制御によるものだと聞いていましたが、VS2008を使用しているプロジェクトソリューションで制御を確認できませんでした。

0 投票する
2 に答える
3606 参照

visual-studio-2010 - Visual Studio 2010 - リボン UI を使用した C++ MFC アプリケーション - ビットマップの透過性

Visual C++ 2010 で、MFC ウィザードによって生成された小さなアプリケーションをいじっています。独自のビットマップをリソースに配置して、リボン UI アプリケーション ボタン (別名) に表示される 3 つのキューブ MFC ビットマップを置き換えることにしました。 「大理石」。

オリジナルは透明色として黒 (0,0,0) を使用しているように見えましたが、Visual Studio 2010 の MFC リボン (mfc-feature-pack など) がビットマップの透明度を決定するために何をするかを判断できません。リボンのメイン アイコン。

リボン (IDR_RIBBON) のプロパティは Image=IDB_MAIN を示しており、IDB_MAIN は BMP 形式の 32x32 ビットマップであり、main.bmp というディスク ファイルからロードされます。

このプロジェクトのビットマップ リソースのいくつかは、私が期待するようなものを持っています: 透明になるマゼンタ色ですが、MFC メイン ビットマップはこの配色またはパレットを使用しませんでした。

実際の結果の例を次に示します。これは、結果が私が望んでいたものではないことを示していることを願っています。 代替テキスト

ちなみに、アプリケーション ボタンで ICON リソースを使用することはできないようです。

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

c++ - CMDIFrameWndEx の CMFCMenuBar のメニューを操作することはできますか?

私のメイン フレームには、現在のドキュメント タイプのメニューを含む CMFCMenuBar メンバーがあります。サブメニューを動的に追加/削除したいと思います。たとえば、ユーザーがマップ ペインを表示することを選択した場合、「ファイル」メニューの横にマップ サブメニューを追加したいと考えています。

逆に、マップ ペインが閉じられた場合は、マップ メニュー項目も削除したいと考えています。

機能するが、私が気に入らないことの 1 つは、ON_UPDATE_COMMAND_UIハンドラーのメニュー項目を単に無効にすることです。
Frame にはメソッドが呼び出されていますが、そのメソッドは aGetMenuBar()を返すconst CMFCMenuBar *ため、外部から変更することはできません。ゲッターを追加したので、メニューバーへの非 const 参照を取得しましたが、それも機能しませんでした:

上記のコードはvoid CMyMenuBar::AddSubMenu ()DynamicMenuサンプルの を改変したものです。ただし、その特定のコードが実行されるかどうか、またはいつ実行されるかを確認できなかったため、このサンプルは壊れていると感じています。サンプルでは、​​メニュー バーがリセットされているとき、または状態がまだレジストリに保存されていないときにのみ、コードが実行されます。

これは不可能ですか、それとも何か間違っていますか?

サブメニューの追加/削除に代わる良い方法はありますか?

0 投票する
2 に答える
1580 参照

windows - MFC: CDockablePane 派生ウィンドウがスライドアウトまたは表示によって開かれたことを検出するイベントはありますか?

ウィンドウが実際に表示されるまで、CDockablePane 派生ウィンドウの初期化を遅らせたい。ウィンドウが単純にドッキングされている場合、WM_SHOWWINDOW は非常に効果的ですが、ウィンドウが AutoHideMode の場合、WM_SHOWWINDOW は予測できず、スライド アウトが終了したことを示すイベントが表示されません。

何かアドバイス?

0 投票する
2 に答える
4423 参照

visual-c++ - C++MFC機能パック->CDialogに複数のCDockablePanesを作成する

CDialogに領域を作成して、CDockablePanesを配置できるようにします。これらは、固定のダイアログコンテンツに完全にドッキングできます。

Codejock Dialog Panes Sampleはまさに私が望むものですが、MFC機能パッククラスで実現されています:http://codejock.com/downloads/samples/dockingpane.asp

現時点では、CDialogに埋め込まれているCFrameWndExから継承されたクラスを取得しました。また、動作するCDockablePaneも含まれています。ドッキングを解除して移動できますが、ドッキングしたいときにプログラムがクラッシュします。

これは、ドッキング可能なペインクラスが、実際のペインの移動先をプレビューするためのダミーペインを生成しようとするためです。NULLを返すGetTopLevelFrame()を呼び出します。これにより、afxpane.cpp @CreateEx()でクラッシュが発生します。

誰かが私のために何か助けやアイデアを持っていますか?:(

挨拶、


編集:
わかりました、いくつかのコード:
CFrameWndExから継承された小さなクラスを作成しました(コンストラクターが保護されているため):

次に、このクラスをCDialogに埋め込み、そのサイズをダイアログサイズに変更します。

CMyFrameクラスのOnCreate()で、CDockablePaneを設定してドッキングします。

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

mfc - Office 2010 スタイルの MFC 機能パック

vs2008 と MFC Feature pack 2008 を使用して mFC でアプリを開発しました。そのルック アンド フィールは 2007 年のオフィス スタイルに似ています。Office 2010 のようなルック アンド フィールのアプリが必要です。その方法を教えてください。

0 投票する
2 に答える
1979 参照

visual-c++ - C ++、MFC機能パック、Mdiの子の可視性

vs2008にMDIMFCFEATUREPACKアプリがあります。

ユーザーが複数のタブグループを作成した場合でも、表示されている子ウィンドウと、最後にアクティブ化されたMDIの子を特定する必要があります。私のメインフレームCMDIFrameWndExクラスでは、メソッドが

これにより、すべてのタブグループをナビゲートできる可能性があります。CMFCTabControl問題は、これらのメソッドが、タブ内のMDI子ウィンドウへのポインターを取得するためのメソッド/メンバーを提供しないを返すことです。アクティブなタブのインデックスのみを提供します。CMDIChildWndEx*では、特定のタブグループの「前面」ウィンドウのポインタを取得するにはどうすればよいですか?