問題タブ [mfc]

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 投票する
7 に答える
2709 参照

c++ - MFC リソース/リンク

私は新しい仕事のために何年も離れていた後、MFC の世界に再び参入しようとしています。記憶をリフレッシュするために人々に推奨されるリソースは何ですか? 最近は主にC#をやっています。

また、人々が推奨する MFC 中心の Web サイトやブログはありますか?

0 投票する
7 に答える
12561 参照

winapi - 現在どのウィンドウにキーボード フォーカスがあるかを監視する方法

現在どのウィンドウにキーボード フォーカスがあるかを追跡する方法はありますか。すべてのウィンドウで WM_SETFOCUS を処理できますが、代替のより単純な方法 (つまり、どこかに単一のメッセージ ハンドラー) があるかどうか疑問に思っています。

MFC で OnIdle() を使用して GetFocus() を呼び出すこともできますが、それは少しハックなようです。

0 投票する
3 に答える
692 参照

mfc - MFC:ドラッグドロップ中のメッセージボックス

アプリケーションのドロップを拒否すると、エラーメッセージを表示する必要があります。

これを試してみましたOnDrop()が、メッセージボックスが閉じられるまでソースアプリケーションがハングします。

どうやってやるの?

0 投票する
10 に答える
15327 参照

c++ - BoundsChecker や Purify などの 64 ビット ツール

何年もの間、私は 2 つの優れたツールBoundsCheckerPurifyを使用してきましたが、これらのアプリケーションの開発者は私をがっかりさせました。私たちは両方の会社に企業アカウントを持っていますが、どちらも 64 ビット アプリケーションをサポートするバージョンを作成するつもりはないと言っています。

64 ビットのネイティブ C++/MFC アプリケーションをサポートするオープン ソースまたは商用の代替製品を推奨できる人はいますか?

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

mfc - MFC で非対話型ウィンドウを作成する方法

私のアプリケーションには、小さなメッセージがポップアップするウィンドウがあります (ツールチップに似ていると考えてください)。このウィンドウは、レイヤー属性を使用してアルファ背景などを描画します。

これらのウィンドウを一度にいくつか開いていて、マウスで 1 つをクリックすると、それらが消えると、アプリケーションがフォーカスを失います (現在のウィンドウの背後にあるアプリにフォーカスが切り替わります)。

ウィンドウでの対話を停止するにはどうすればよいですか?

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

c++ - MFC アプリのライトボックス スタイル ダイアログ

MFC/非.netアプリのモーダルダイアログボックスにライトボックススタイルの背景調光を実装した人はいますか?
手順は次のようにする必要があると思います。

手順:

  1. ダイアログの親 HWND または CWnd を取得*

  2. 親ウィンドウの四角形を取得し、そのウィンドウの上に半透明のオーバーレイを描画します

  3. ダイアログがモーダル描画ルーチンを実行できるようにします。例: DoModal()

これを行うための既存のライブラリ/フレームワークはありますか、または MFC で半透明のオーバーレイをドロップする最良の方法は何ですか?
編集「ライトボックススタイル」が何を意味するのかわからない場合に達成しようとしているもののモックアップです
Some App
代替テキスト

ライトボックス ダイアログ ボックスで
代替テキスト

0 投票する
13 に答える
3177 参照

c++ - リソース (.rc) ファイルを編集/翻訳するための優れたプログラムを知っていますか?

多言語環境で C++/MFC プログラムを作成しています。私は 1 つの主要な (国語) 言語と 3 つの国際言語を持っています。プログラムに機能を追加するたびに、国際言語を国内言語に合わせて最新の状態に保つ必要があります。Visual Studio のリソース エディターは、文字列やダイアログ ボックスなどを未翻訳のままにしておくことがよくあるため、あまり役に立ちません。

リソース (.rc) ファイルを編集して、

  • 翻訳する文字列とそれぞれの ID のみを含むファイルを作成し、同じ (または類似の) ファイルを別の言語で受け入れる (通常、翻訳は他の人によって行われるため、これは役に立ちます)。
  • 翻訳自体を処理し、同じ文字列を異なる言語で同時に表示できるようにします。
0 投票する
6 に答える
4414 参照

c++ - リソース (.rc) ファイルを解析するための正規表現

最終的には、.rc ファイルから文字列を抽出して翻訳できるようにしたかっただけですが、.rc ファイルに関連するものはすべて機能します。

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

java - VC++ CArchive バイナリ形式の読み取り (または Java 読み取り (CObArray))

さまざまな MFC データ構造をシリアル化するために使用されるバイナリ形式に関する明確なドキュメントはありますか? 独自のクラスのいくつかを 16 進エディタで表示し、Java の ByteBuffer クラスを使用してそれらを読み込むことができました (自動エンディアン変換などを使用)。

ただし、現在、CObArray データを取得しようとしているときに問題が発生しています。これは、不透明なかなり大きなヘッダーがあり、オブジェクト タイプ情報がどのように保持されているかが不明であるためです。

これに役立つ一連のオンライン ドキュメントはありますか? または、過去にこれを扱った人からのサンプル Java コードはありますか?

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

c++ - MFC IE 組み込み Web ブラウザーの奇抜さ

Internet Explorer Web ブラウザー コントロールを埋め込むこのモードレス MFC ダイアログがあります。

CWndコントロールは、Visual Studio によって生成された ActiveX ラッパーから直接派生しCDialogDDX_Control(pDX, IDC_EXPLORER, m_explorer);.

2つの問題があります。

問題#1:

モードレスであるため、new/Create() を使用して、次に DestroyWindow()/delete (PostNcDestroy 内) を使用して、自分の好みでダイアログを開始および停止します。

問題は、IE コントロールが Flash ビデオ (通常の YouTube のもの) の読み込みを開始したときに始まります。IE コントロールを閉じてダイアログを破壊すると、ビデオはまだ読み込まれます! 完全にキャッシュされるまで。親ダイアログが PostNcDestroy を通過し、すべてのメモリが解放された場合でも、Flash ActiveX スレッドは残り、実行を続けます。

何をすべきか?その子 Web コントロールとそのすべてのスレッドを本当に「殺す」にはどうすればよいですか?

問題#2:

Web ブラウザー コントロールは、ダイアログの全領域をカバーします。OnMouseMove()親ダイアログまたは Web ブラウザー マッピング クラスでインターセプトできません。何を与える?

ありがとう!


"掃除"

PostNcDestroy() で「これを削除」 - もちろん基本関数を呼び出します。もっとあるべきですか?何?ダイアログはその子を適切に処理するべきではないでしょうか?

Web コントロールで DestroyWindow を明示的に呼び出すか、WM_DESTROY、WM_CLOSE、さらには WM_QUIT などのメッセージを送信/投稿しようとしましたが、何もしませんでした。

問題#2:

いいえ、インデントのように、コントロールはすべてのスペースを取り、それが一番上にあるので、マウスアクションは「下」に送信されないと思います:)?しかし、なぜ彼自身の OnMouseMove が呼び出されないのでしょうか? CWndから直行するから?道に迷いました...