ぴぐノート

Good code is its own best documentation.

C/C++ MFC プログラミング言語

【MFC入門】メッセージボックスにエラーコードを表示させよう

投稿日:

ライブラリなどを使用していると、戻り値にエラーコードを返す関数は比較的多いです。
GetLastError関数(最新のエラーコードを取得する関数)がライブラリに含まれていることもありますが、そうでない場合画面上になんのエラーが発生したか確認したい場合があると思います。

その場合に役に立つのがMessageBox()です。
今回はint型のエラーコードを受け取り、CString型の文字列変数に挿入し、MessageBoxを表示させてみましょう。

ソースコード

今回は全然難しくありません。
早速ソースコードを確認してみましょう。

CString::Format()を使うことでコンソールアプリケーションのprintf()のように変数を格納させることができます。

エラーコードの表示以外にも開発途中で画像のサイズや解像度などを一時的に表示させたいといった場合にもすぐに使うことができます。

関連リンク:CStringT::Format | msdn

書式指定

C++を使ってプログラミングしているとprintf()をあまり使わなくなってくるので、%dや%sなど書式指定を忘れてしまうこともあるのではないでしょうか。

よく使うような書式指定をいかにまとめます。

%c / %C 1バイト文字、もしくはワイド文字を指定します。
プロジェクトの文字セットや文字型(char_t/wchar_t)に注意が必要です。
%d / %i 符号付き10進整数を指定します。
エラーコードをint型で返す関数は多いので、最も使用率が高くなるでしょうか。
%x / %X 符号なし16進整数を指定します。
小文字の場合は”abcdef”, 大文字の場合は”ABCDEF”が使用されます。
%f 浮動小数点数を指定します。
画像サイズなどを計算する場合double型として計算されることも多いので、
一時的に表示させたい場合に利用することになるでしょう。
%s / %S 1バイト文字の文字列、もしくはワイド文字の文字列を指定します。
%c / %Cと同様にプロジェクトの文字セットや文字型(CStringT / CStringA)に注意が必要となります。

まとめ

実際にエラーコードの出力などをする場合は、どこから呼び出されたのか、そのエラーコードは何を意味するのかを記述することも多いと思いますが、ドキュメントなどを確認しながら何番のエラーコードが返っているか知りたい場合には活用の機会が多いです。

実際に活用する場合はインライン関数などを作成し、エラー表示をさせる関数を用意すると使い勝手もよくなるのではないでしょうか。

スポンサーリンク

スポンサーリンク

-C/C++, MFC, プログラミング言語

執筆者:

関連記事

【MFC】フォルダー選択ダイアログの表示【Visual C++】

出力先の指定などフォルダー選択のダイアログを表示させたいことがあります。 フォルダー選択ダイアログを表示させるためには、SHBrowseForFolder関数を使います。 SHBrowseForFol …

【MFC入門】ダイアログにファイルをドラッグアンドドロップしよう【Visual C++】

ファイル操作を行うツールなどを作成する際には、ファイルをドラッグアンドドロップできると便利です。 ファイルがどこにあるか分からない場合などは参照させることも多いと思いますが、プログラムやファイルの検証 …

【OpenCV】MFCのピクチャーコントロールに描画しよう!

前回、OpenCVを使って画像の回転や二値化などを行って動作確認をしました。 今回はMFCでダイアログベースのアプリケーションを作成し、ピクチャーコントロールにOpenCVで読み込んだ画像を表示させて …

【MFC】マルチスレッドでプログレスバーを実装しよう その2

昨日に続き、プログレスバーをマルチスレッドを用いて実装してみましょう。 作成の目的は、 スレッド実行中はモーダルダイアログを表示させること。 モーダルダイアログではプログレスバーを表示し進捗が分かるこ …

【MFC】マルチスレッドでプログレスバーを実装しよう その3

プログレスバーをマルチスレッドを用いた実装について最後の記事です。 引き続き作成の目的は、 スレッド実行中はモーダルダイアログを表示させること。 モーダルダイアログではプログレスバーを表示し進捗が分か …