KotlinとSwiftとVC++(MFC)のアナログ時計で同じのPNG画像を組込む:MFCでの覚えメモ-1
こんにちは、川上です。
VC++(MFC)の入ったVisual Studio 2017 Community版で作ってたSDIタイプのアナログ時計アプリ。
PNG画像で組込んだのは、KotlinとSwiftで使っていたのと一緒です。
⬇️は、DebugモードでBuild&RUNで動作しているアプリとPNG画像の関連位置です。
アナログ時計の画像は「固定」で使い、Documentで画像を変更しない(お勝手仕様)タイプにしたので、
CView内にCImageオブジェクトに全部組み込みました。
( ー この方が、楽なんで。。。6^ ^)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | class CClockWin2View : public CView { public: CImage m_imgPNG; //時計 背景画像 CImage m_imgHariL; //長針 CImage m_imgHariS; //短針 CImage m_imgHariByo; //秒針 // non_png CImage m_imgNON1; CImage m_imgNON2; CImage m_imgNON3; // Pi,Poo CImage m_imgPi; CImage m_imgPoo; } |
まずは、OnInitialUpdate()で CImageの初期化でPNG画像の組込みました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | void CClockWin2View::OnInitialUpdate() { CView::OnInitialUpdate(); // TODO: ここに特定なコードを追加するか、もしくは基底クラスを呼び出してください。 GetParentFrame()->RecalcLayout(); CString filePath; //画像ファイルのパスを指定します。今回は単純な表示目的なので同階層に画像を用意した filePath = L"..\\png\\base_tokei.png"; m_imgPNG.Load(filePath); //時計 背景画像 filePath = L"..\\png\\long_hari.png"; m_imgHariL.Load(filePath); //長針 filePath = L"..\\png\\short_hari.png"; m_imgHariS.Load(filePath); //短針 filePath = L"..\\png\\byo_hari.png"; m_imgHariByo.Load(filePath); //秒針 // non_png filePath = L"..\\png\\non_1.png"; m_imgNON1.Load(filePath); filePath = L"..\\png\\non_2.png"; m_imgNON2.Load(filePath); filePath = L"..\\png\\non_3.png"; m_imgNON3.Load(filePath); //Pi,Poo filePath = L"..\\png\\pi.png"; m_imgPi.Load(filePath); filePath = L"..\\png\\poo.png"; m_imgPoo.Load(filePath); } |
次の
・画像の表示処理
は、
void CClockWin2View::OnDraw(CDC* pDC)
で画像処理(Timer設定無し)のお勉強と復習をしました。
ではでは。