問題タブ [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.
c++ - MFC リソース/リンク
私は新しい仕事のために何年も離れていた後、MFC の世界に再び参入しようとしています。記憶をリフレッシュするために人々に推奨されるリソースは何ですか? 最近は主にC#をやっています。
また、人々が推奨する MFC 中心の Web サイトやブログはありますか?
winapi - 現在どのウィンドウにキーボード フォーカスがあるかを監視する方法
現在どのウィンドウにキーボード フォーカスがあるかを追跡する方法はありますか。すべてのウィンドウで WM_SETFOCUS を処理できますが、代替のより単純な方法 (つまり、どこかに単一のメッセージ ハンドラー) があるかどうか疑問に思っています。
MFC で OnIdle() を使用して GetFocus() を呼び出すこともできますが、それは少しハックなようです。
mfc - MFC:ドラッグドロップ中のメッセージボックス
アプリケーションのドロップを拒否すると、エラーメッセージを表示する必要があります。
これを試してみましたOnDrop()
が、メッセージボックスが閉じられるまでソースアプリケーションがハングします。
どうやってやるの?
c++ - BoundsChecker や Purify などの 64 ビット ツール
何年もの間、私は 2 つの優れたツールBoundsCheckerとPurifyを使用してきましたが、これらのアプリケーションの開発者は私をがっかりさせました。私たちは両方の会社に企業アカウントを持っていますが、どちらも 64 ビット アプリケーションをサポートするバージョンを作成するつもりはないと言っています。
64 ビットのネイティブ C++/MFC アプリケーションをサポートするオープン ソースまたは商用の代替製品を推奨できる人はいますか?
mfc - MFC で非対話型ウィンドウを作成する方法
私のアプリケーションには、小さなメッセージがポップアップするウィンドウがあります (ツールチップに似ていると考えてください)。このウィンドウは、レイヤー属性を使用してアルファ背景などを描画します。
これらのウィンドウを一度にいくつか開いていて、マウスで 1 つをクリックすると、それらが消えると、アプリケーションがフォーカスを失います (現在のウィンドウの背後にあるアプリにフォーカスが切り替わります)。
ウィンドウでの対話を停止するにはどうすればよいですか?
c++ - MFC アプリのライトボックス スタイル ダイアログ
MFC/非.netアプリのモーダルダイアログボックスにライトボックススタイルの背景調光を実装した人はいますか?
手順は次のようにする必要があると思います。
手順:
ダイアログの親 HWND または CWnd を取得*
親ウィンドウの四角形を取得し、そのウィンドウの上に半透明のオーバーレイを描画します
- ダイアログがモーダル描画ルーチンを実行できるようにします。例: DoModal()
これを行うための既存のライブラリ/フレームワークはありますか、または MFC で半透明のオーバーレイをドロップする最良の方法は何ですか?
編集「ライトボックススタイル」が何を意味するのかわからない場合に達成しようとしているもののモックアップです
Some App:
ライトボックス ダイアログ ボックスで
c++ - リソース (.rc) ファイルを編集/翻訳するための優れたプログラムを知っていますか?
多言語環境で C++/MFC プログラムを作成しています。私は 1 つの主要な (国語) 言語と 3 つの国際言語を持っています。プログラムに機能を追加するたびに、国際言語を国内言語に合わせて最新の状態に保つ必要があります。Visual Studio のリソース エディターは、文字列やダイアログ ボックスなどを未翻訳のままにしておくことがよくあるため、あまり役に立ちません。
リソース (.rc) ファイルを編集して、
- 翻訳する文字列とそれぞれの ID のみを含むファイルを作成し、同じ (または類似の) ファイルを別の言語で受け入れる (通常、翻訳は他の人によって行われるため、これは役に立ちます)。
- 翻訳自体を処理し、同じ文字列を異なる言語で同時に表示できるようにします。
c++ - リソース (.rc) ファイルを解析するための正規表現
最終的には、.rc ファイルから文字列を抽出して翻訳できるようにしたかっただけですが、.rc ファイルに関連するものはすべて機能します。
java - VC++ CArchive バイナリ形式の読み取り (または Java 読み取り (CObArray))
さまざまな MFC データ構造をシリアル化するために使用されるバイナリ形式に関する明確なドキュメントはありますか? 独自のクラスのいくつかを 16 進エディタで表示し、Java の ByteBuffer クラスを使用してそれらを読み込むことができました (自動エンディアン変換などを使用)。
ただし、現在、CObArray データを取得しようとしているときに問題が発生しています。これは、不透明なかなり大きなヘッダーがあり、オブジェクト タイプ情報がどのように保持されているかが不明であるためです。
これに役立つ一連のオンライン ドキュメントはありますか? または、過去にこれを扱った人からのサンプル Java コードはありますか?
c++ - MFC IE 組み込み Web ブラウザーの奇抜さ
Internet Explorer Web ブラウザー コントロールを埋め込むこのモードレス MFC ダイアログがあります。
CWnd
コントロールは、Visual Studio によって生成された ActiveX ラッパーから直接派生しCDialog
、DDX_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から直行するから?道に迷いました...