MFC 静态文本框-LMLPHP

窗体上操作控件内容,需要句柄,在控件处使用鼠标右键——添加变量。

DoDataExchange()函数会自动生成代码,把ID与变量绑定(即DDX_Control(pDX, IDC_TEXT, objText);),让变量具有句柄功能(其实头文件中自动定义了控件对象private: CStatic objText;)。

MFC 静态文本框-LMLPHP

objText.SetWindowTextW(TEXT("呵呵"));//设置文本内容
    CString str;
objText.GetWindowTextW(str);
objBtn.SetWindowTextW(str);//按钮上内容改变
//objBtn.EnabledWindow(FALSE);//按钮失效
    //(1)修改风格,显示为bmp位图,居中
objPic.ModifyStyle(0xf, SS_BITMAP | SS_CENTERIMAGE);
//(2)获取bitmap句柄
#define HBMP(filePath, width, height) (HBITMAP)LoadImage(AfxGetInstanceHandle(), filePath, IMAGE_BITMAP, width, height, LR_LOADFROMFILE | LR_CREATEDIBSECTION)
//(3)获取控件大小
CRect rect;
objPic.GetWindowRect(rect);
//(4)设置图片
objPic.SetBitmap(HBMP(TEXT("D:/lena.bmp"), rect.Width(), rect.Height()));

【参考】https://www.bilibili.com/video/av52921336?p=12

05-07 15:26