-
デバッグ
【MFC】Debug Assertion Failed! の正しい読み方
Visual Studio 2026 検証済み。Debug Assertion Failed! ダイアログが出たときの正しい対処法。表示される情報の読み方、ソース該当箇所の特定手順、よくある原因パターンを整理します。 -
例外処理
【MFC】CException::Delete: なぜ Delete() 呼び出しが必須か
Visual Studio 2026 検証済み。C++ catch で CException* を捕捉したときに Delete() が必要な理由と、MFC CATCH マクロでは自動削除される違いを整理します。 -
デバッグ
【MFC】GetLastError() は失敗直後に読む:別APIでエラーコードが変わる理由
Visual Studio 2026 検証済み。GetLastError() は API 失敗直後に読む必要があります。別 API を挟むとエラーコードが変わる理由と、確実なエラーハンドリングの書き方を解説します。 -
GDI描画
【MFC】BitBlt vs StretchBlt: 画像転送の基本と拡大縮小
Visual Studio 2026 検証済み。BitBlt と StretchBlt の使い分け、縮小時の BLACKONWHITE と HALFTONE の画質差、SetBrushOrgEx を含む実装手順を 3 枚の比較画像付きで解説します。 -
UI制御
【MFC】GetWindowRect vs GetClientRect:スクリーン座標とクライアント座標
Visual Studio 2026 検証済み。GetWindowRect と GetClientRect の違いを、移動時・サイズ変更時・座標変換時の実測値で確認します。ScreenToClient / ClientToScreen / MapWindowPoints の使い分けと、描画やレイアウトで混同しない判断基準を解説します。 -
UI制御
【MFC】OnCtlColor: コントロールの背景色を変える
Visual Studio 2026 検証済み。OnCtlColor による色変更。エディットやスタティックコントロールの背景色・文字色を、ブラシハンドルを返すことでカスタマイズする方法。 -
GDI描画
【MFC】CPaintDC vs CClientDC vs CWindowDC
Visual Studio 2026 検証済み。DCクラス(CPaintDC, CClientDC, CWindowDC)の使い分け。OnPaint内でのCPaintDC必須理由と、それぞれの描画領域の違い。 -
例外処理
【MFC】AfxThrowMemoryException: メモリ確保失敗を MFC 例外に統一する
メモリ確保に失敗したとき、戻り値だけでエラーを返すと、呼び出し元がチェックを忘れて後続処理でクラッシュすることがあります。MFC では AfxThrowMemoryException() を使うことで、CMemoryException として上位層へ伝え、メモリ不足の処理を1か所に集約... -
近代化
【MFC】WebView2: Edge (Chromium) をアプリに埋め込む
レガシーな MFC アプリの中に、CHtmlView を使った画面が残っていることがあります。以前は社内のヘルプ画面や簡単な HTML 表示で使われていましたが、最近のログイン画面や JavaScript を使ったページでは正しく動かないことがあります。この記事では、MF... -
デバッグ
【MFC】Run-Time Check Failure #2 – Stack around the variable was corrupted
Debug ビルドで実行したら突然「Run-Time Check Failure #2 - Stack around the variable '...' was corrupted」というダイアログが出て止まった、という状況は珍しくありません。この記事では、このエラーが何を検知しているのかと、原因の特定から修正ま...