問題タブ [visual-c++]

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

c++ - Visual C++ で可変引数リストを使用してマクロを作成する方法はありますか?

私の知る限り、gcc では次のように記述できます。

VC++でそれを行う方法はありますか?

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

windows - Windows Core API を使用して無限スクロール バー コントロールを作成するにはどうすればよいですか?

どうやって作るの?私はWindows APIの初心者です。この種のマニュアルのようなものはありますか?特にコア API に興味があります。助けてくれてありがとう。

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

windows - XP および Vista で Quick Launch フォルダを確実に取得するにはどうすればよいですか?

Vista と XP の両方で、すべてのユーザーと現在のユーザーの両方の Quick Launch フォルダーを確実に取得する必要があります。私は C++ で開発していますが、これはおそらく一般的な Windows API に関する質問です。

参考までに、両方のシステムで Application Data フォルダを取得するコードを次に示します。

これは、Microsoft がどのサブフォルダーを使用しているかを知るだけの問題だと思います。

Windows XP では、アプリ データ サブフォルダーは次のとおりです。

Microsoft\Internet Explorer\クイック起動

Vista では、サブフォルダーが次のように変更されているようです。

Roaming\Microsoft\Internet Explorer\Quick Launch

しかし、これが正しい場所を特定する正しい方法であることを確認したいと思います。

この場所を特定する正しい方法を見つけることは非常に重要です。ハードコードされたフォルダー名に依存すると、国際的なインストールに移行するときにほとんどの場合壊れてしまうためです。Vista でフォルダーの名前が「ローミング」であるという事実は、そのフォルダに関連する特別な処理です (XP の Local Settings フォルダに似ています)。

編集: 次の msdn 記事: http://msdn.microsoft.com/en-us/library/bb762494.aspxは、CSIDL_APPDATA が FOLDERID_RoamingAppData と同等の ID を持っていることを示しています。これは、CSIDL_APPDATA が C:\ を返すという StocksR の主張をサポートしているようです。 Users\xxxx\AppData\Roaming であるため、CSIDL_APPDATA に同じ相対パスを使用してクイック起動 (\Microsoft\Internet Explorer\Quick Launch) を取得できるはずです。

したがって、次のアルゴリズムは MS ごとに正しいです。

hres をチェックして、SHGetSpecialFolderPath への呼び出しが成功したことを確認することもお勧めします。

0 投票する
4 に答える
2448 参照

c - C でのコンパイル時の LCM / GCD

Cで少なくとも2つの数値のLCM(最小公倍数)および/またはGCD(最大公約数)をコンパイル時に計算するメカニズムを知っている人はいますか(C++ ではなく、テンプレートマジックが利用できることを知っています)?

私は通常GCCを使用しますが、すべての入力が既知の場合 (例: sin、cos など)、コンパイル時に特定の値を計算できることを思い出してください。

GCCでこれを行う方法を探しています(できれば他のコンパイラが処理できる方法で)、同じメカニズムがVisual Studioで機能することを願っています。

0 投票する
8 に答える
5454 参照

c# - Visual Studio を使用した Windows での C# コードと umanaged C++ コードの混在

C# コードからアンマネージ C++ ライブラリを呼び出したいと考えています。潜在的な落とし穴と取るべき予防策は何ですか? お時間をいただきありがとうございます。

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

user-interface - MFC アプリケーションのチャート コントロール?

Visual C++ MFC アプリケーションで使用できるサードパーティ コントロールについて、いくつか提案をお願いします。

0 投票する
12 に答える
2148 参照

visual-c++ - 非常に小規模な企業向けのコード/ドキュメント管理

私は非常に小さな会社 (~5 人の従業員、2.5 人のコーダー) で働いています。私たちはここ数年、コードやドキュメントの管理なしで済んでいますが、少し成長するにつれて追いつき始めています。

管理システムに関する提案。無料の方が良いですが、安いのは許容範囲です。インストールや構成に時間を節約できる以上の時間を費やしたくありません。

主に VC++ 6 を使用していますが、VC# 2008 に分岐しています。また、いくつかのハードウェアの機械図面と回路図、およびハードウェアとソフトウェアの両方のユーザー マニュアルを追跡する必要があります (ただし、これらすべてを実行できる 1 つのツールが見つかるとは本当に期待していませんが、ただ願っています)。

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

visual-studio-2008 - Cairo を Visual C++ 2008 (Express エディション) 用にコンパイルする方法

ほとんどのプリコンパイル済み Windows バイナリは、MSYS+gcc ツールチェーンで作成されています。Visual C++ 2005/2008 と互換性のない MSVCRT ランタイムを使用します。

では、Cairo 1.6.4 (またはそれ以降) を Visual C++ のみでコンパイルする方法について説明します。依存関係 (png、zlib、pixman) を含みます。

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

visual-c++ - HTMLHelp.lib と x64 のリンク

私はHtmlHelpを使用するVS05 C++(MFC)プロジェクトを持っています(HTML HElp Workshop v1.4から来たHmleHelp.libからリンクされた関数HTMLHelpA)。32 ビット バージョンは正常にコンパイルおよびリンクされます。

64 ビット バージョンは正常にコンパイルされますが、リンク時に HTMLHelpA で「未解決の外部」エラーが発生します。

私の質問は簡単です。x64 で HTMLHelp を使用する方法はありますか?

0 投票する
5 に答える
2510 参照

visual-c++ - Vista の MFC アプリケーションでスクリーン キャプチャが機能しない

OpenGL 描画ルーチンを使用して、MFC で構築された社内アプリケーションがいくつかあります。それらはすべて同じコードを使用して画面に描画し、画面を印刷するか、JPEG ファイルに保存します。Windows XP ではすべて正常に動作しており、Vista でも動作させる方法を見つける必要があります。

3 つのアプリケーションでは、すべてが機能します。残りの 1 つでは、ウィンドウの境界線、タイトル バー、メニュー、およびタスク バーを取得できますが、内部は表示されません。前述したように、これらのアプリケーションはまったく同じコードを使用して画面に書き込み、ウィンドウ イメージをキャプチャします。関連しているように見える唯一の違いは、問題のアプリケーションが MFC マルチ ドキュメント インターフェイスを使用しているのに対して、その作業は、単一のドキュメント インターフェイスを使用します。

答えがネット上にないか、思ったよりグーグルが下手です。MSDN フォーラムで質問したところ、GDI ではなく GDI+ を使用するという実際的な提案しか得られませんでしたが、それでも違いはありませんでした。ウィンドウへのポインターを指定して、キャプチャ、印刷、または保存するコードのすべての部分でさまざまなことを試しましたが、明らかにウィンドウ自体の問題です。私はまだ SDI を使用して問題のあるアプリケーションを再構築しておらず、他にアイデアがありません。

誰もこのようなものを見たことがありますか?


私が持っているのは 4 つのアプリケーションです。多くの共通コードを使用し、実際の .h ファイルと .cpp ファイルを共有しているため、描画とスクリーン キャプチャのコードが同一であることがわかります。

*pWnd と、ソースの四角形と宛先のサイズを受け取る WindowtoDIB() ルーチンがあります。Microsoft のコードをわずかに変更したように見えますが、Microsoft の Web サイトで、このファイルに他の関数を見つけました。私の 4 つのアプリケーションのうち、3 つがこれを問題なく処理しますが、1 つがそうではありません。最も明白な違いは、問題の 1 つが MDI であることです。

*pWnd が問題のようです。私は決して MFC の第一人者ではありません。問題は、SDI に 1 つのウィンドウ設定があり、MDI に複数のウィンドウ設定があることにあるように思えます。関数に間違った *pWnd を渡している可能性があります。

その間、64 ビット Vista テスト マシンでは正常に動作するようになりましたが、32 ビット Vista マシンではまだ動作しません。理由がわかりません。前回のテスト以来、私は何も変更していません。他の誰も変更していないと思います。(32 ビット バージョンでは、Print Screen キーは期待どおりに機能しますが、画面を JPEG として保存しません。)