WINDOWS98中带的Kodak图象编辑控件
利用WINDOWS98中带的Kodak图象编辑控件来在对话框上显示一个位图,虽然有点儿杀鸡用牛刀的感觉,但却不失为一个极方便快捷的方法。顾名思义,这个控件不但可以显示,它更强大的功能还是在编辑图象,它可以对图象进行放大、缩小、标注等操作。而且,使用起来很方便。但它毕竟是别人的东东,不太清楚它的底细,用起来就不免…我就吃了它的苦头。在本机上调试通过,安装了其他几台机器也很正常,但是有一台却颜色失真了,变成了水粉画。不知是不是那台机器的显卡有问题。还有就是据我初步实验,在95下好象行不通。不过现在大家都是WIN98,这似乎已经不算一个问题了。下面就把我的过程写下来: 首先应该保证系统中有这个控件。注意,它不能单独使用,必须和其他几个控件(特别是Imgcmn.dll)一同使用。如果没有,从别的机器上copy过来即可。这几个文件是Imgadmin.ocx,Imgcmn.dll,Imgedit.ocx,Imgscan.ocx,Imgshl.dll,Imgthumb.ocx,Imgutil.dll,把它们copy到windows\system目录下,然后用regsvr32.exe将它们分别注册。 打开VC,新建一个基于对话框的工程(主要是为了说明方便),删除掉对话框上其他的东西(按钮和LABEL),在对话框上单击右键,单击Insert Activex control… 选择Kodak图象编辑控件,大小任意。 在对话框上选中该控件,打开view|classwizard,单击Member Variables,点击Add Variable…按钮,系统会弹出一个对话框,大体上是提示你它要把控件加入工程中了,确定即可。在接下来的对话框上继续点击OK,此时,会出现一个对话框,提示你输入变量名,输入你想要的名字即可。我们输入m_ctrlPicture。单击确定。 此时你的工程中已经有了一个名字为m_ctrlPicture的控件,接下来就可以利用它来显示图片了,我们把它加到对话框的初始化中。单击ClassWizard,选择OnInitDialog,单击Edit Code按钮。 在OnInitDialog中,找到// TODO: Add extra initialization here,在下面加入如下代码: 
m_ctrlPicture.SetImage("c:\\windows\Clouds.bmp");
m_ctrlPicture.Display();
编译运行,看到了吗?就这么简单。 但是它的大小却是固定的,要看全图只能利用滚动条。下面我们再来得到图象的尺寸,然后使对话框自动适应图象的大小。还是在初始化中,代码如下: 
     m_ctrlPicture.SetImage("c:\\windows\\Clouds.bmp");
     const int nAddConst=40;
     //图象尺寸不会正合适,需要加点增量。
     long lPictureWidth=m_ctrlPicture.GetImageWidth();
     long lPictureHeight=m_ctrlPicture.GetImageHeight();
     MoveWindow(0,0,lPictureWidth,lPictureHeight,true);
     //改变对话框大小     //改变控件的大小
m_ctrlPicture.MoveWindow(0,0,lPictureWidth,
lPictureHeight+nAddConst,true);
m_ctrlPicture.Display();
成功了。注意,这个控件不但只能显示bmp,还可显示许多其他的格式,你可以自己试一下。