VC++のMFCでプログラム作成中に出たエラーのメモ。
画像保存場所
すごい初歩的なことだと思うんですが…
CImageによる画像表示をしようとすると、エラーが出て表示できませんでした。実は、
img.Load("C:\\Users\\hoge\\Documents\\Visual Studio 2008\\Projects\\test_hoge\\test_hoge\\hogehoge.jpg");
こんな所に画像保存していたり。
img.Load("C:\\Users\\hoge\\Documents\\Visual Studio 2008\\Projects\\test_hoge\\test_hoge\\res\\hogehoge.jpg");
こうするとエラーが出なくなりました。どうも保存場所がよくなかったようで…
実行時のエラー
2枚の画像を重ねて表示しようとすると、コンパイルは通ったのに実行時にエラーが発生。
調べても原因が分からなかったので、コメントアウトで原因探しをすると…
myDC.CreateCompatibleDC(pDC);
どうもこれを2度呼び出したのが原因みたいです。
ダイアログ表示時に文字列を表示する
ネットで調べるとボタンをクリックして表示する、というものが多かったので。
ダイアログを表示した際に文字列を表示する方法でだいぶ詰まってました。
・スタティックテキストやエディットボックスなど文字列の表示できるコントロールを用意
・カテゴリ「Value」でコントロール変数を作成(CString型)
・表示先で、作成するダイアログのクラスのインスタンスを生成
・コントロール変数に文字列を代入
・ダイアログを呼び出す
myDlg.h
class CmyDialog : public CDialog
{
public:
CString m_ss; //Valueカテゴリのコントロールメンバ変数
}
MeinDlg.cpp
CmyDialog dlg;
CString ss;
ss = _T("文字列を表示します");
dlg.m_ss = ss;
dlg.DoModal();