如何在从头开始创建Visual C++MFC项目时添加图像

How to add images when creating Visual C++ MFC project from scratch?

本文关键字:项目 添加 图像 C++MFC Visual 从头开始 创建      更新时间:2023-10-16

我正在尝试创建非常简单的c++MFC项目。由于它非常简单,我需要从头开始创建它。

到目前为止,我的代码如下所示。但现在我需要添加图片控制,因此我的Intent使用CImage类。但是要使用CImage类,我需要将altimage.h头添加到我的项目中。但是当我这样做的时候,它给出了一个错误,无法打开源文件altimage.h。所以

  1. 我怎样才能克服这个问题
  2. 当我从头开始创建MFC项目时,如何添加我需要的文件

请帮我解决这个问题。

感谢

#include <afxwin.h>      //MFC core and standard components
//#include <altimage>
#include "resource.h"    //main symbols
//-----------------------------------------------------------------------------------------
//Globals
//CEdit * TEST;
CEdit * RECOG_CHARS;
CButton * BTN_CONVERT;
CButton  * BTN_QUIT;
CStatic * IMG_IMAGE;
class HWCR_FORM : public CDialog
{
public:
    HWCR_FORM(CWnd* pParent = NULL) : CDialog(HWCR_FORM::IDD, pParent)
    {    }
    // Dialog Data, name of dialog form
    enum{ IDD = ID_MAIN_INTERFACE };

protected:
    virtual void DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); }
    //Called right after constructor. Initialize things here.
    virtual BOOL OnInitDialog()
    {
        CDialog::OnInitDialog();
        RECOG_CHARS = (CEdit *)GetDlgItem(CE_ID_TEXT);
        BTN_CONVERT = (CButton *)GetDlgItem(CB_ID_START);
        BTN_QUIT = (CButton *)GetDlgItem(CB_ID_QUIT);
        IMG_IMAGE = (CStatic *)GetDlgItem(CS_ID_IMAGE);
        HBITMAP image = (HBITMAP)LoadImage(NULL,L"C:\Users\Kasun\Desktop\image.bmp",IMAGE_BITMAP,150,120,LR_LOADFROMFILE);
        IMG_IMAGE->SetBitmap(image);

        RECOG_CHARS->SetWindowTextW(L"Hi there");

        return true;
    }
public:
    DECLARE_MESSAGE_MAP()
};

//-----------------------------------------------------------------------------------------
class HWCR : public CWinApp
{
public:
    HWCR() {  }
public:
    virtual BOOL InitInstance()
    {
        CWinApp::InitInstance();
        SetRegistryKey(_T("Hills Of Darkness"));

        HWCR_FORM dlg;
        m_pMainWnd = &dlg;
        INT_PTR nResponse = dlg.DoModal();

        return FALSE;
    } //close function
};

//-----------------------------------------------------------------------------------------
//Need a Message Map Macro for both CDialog and CWinApp
BEGIN_MESSAGE_MAP(HWCR_FORM, CDialog)
END_MESSAGE_MAP()
//-----------------------------------------------------------------------------------------
HWCR theApp; 

首先,为了使用CImage,您需要包含头文件

#include <atlimage.h> 

而不是

#include <altimage>

其次,请确保该文件的目录包含在MSVC路径中。。。通常应该包含它,因为此头文件是MFC/Win32 SDK的一部分。。。。检查VS属性中的目录。

Z。