2024年4月19日发(作者:)

怎么样在VC中使用Static控件来显示图像?

在使用MFC编写程序时,经常需要显示图像;根据GDI的要求,需要一个DC(设备内容)作

为显示的基础;实际上任何Windows的窗口都可以作为一个DC,我们可以通过API或MFC的函数

来得到,例如:

HDC GetDC (HWND);---这里的HWND是窗口的句柄

CDC * CWnd::GetDC ();---这里的CWnd实际上是任何从CWnd的类

当我们使用MFC的单文档或多文档框架时,我们可以使用CView作为图像显示的DC,这个时

候我们将绘制图像的操作放在OnDraw中就可以了;当窗口无效或更新的时候,框架会自动调用该函

数来重新绘制图像;这里没有什么问题,我们主要来谈谈另外一种模式:当你需要在一个基于Dialog

程序或一个CDialog控件中显示图像的问题。

实际上什么控件都可以作为图像显示的DC,他们可以是按钮、图片控件、Static控件等,只要有

窗口的控件都可以得到DC。这里仅以Static控件作为图像显示的控件来介绍。

首先看我程序的基本逻辑:

源文件后面的按钮是用来选择位图文件的;而下面的图像显示区域是用来显示图像的Static控件;

当设置好要显示的图像文件以后,图像就自动在Static中画出来。

第一次

一开始,我在CDialog对应的按钮处理程序中调用显示图像的代码,代码如下(IDC_PICVIEW

为Static的ID):