用应用程序向导生成一个基于对话框的应用程序
现在我们为资源导入一张位图然后我们为程序添加四个私有变量private: 【程序编程相关:函数调用的底层机制】
把对话框styles里的border设置为resizing,并把minimize box跟maximize box复选按钮都勾上 【推荐阅读:Windows XP注册表大盘点(三)】
int width; 【扩展信息:具有Reset功能的多线程同步队列 - 】 int height; cbitmap mybitmap; bitmap bm;然后用类向导添加wm size消息输入下列代码: width = cx;
height = cy; invalidate();然后在添加wm_paint消息在函数里添加以下代码: cdc *pdc=new cdc;
cpaintdc dc(this); //cclientdc dc(null); pdc->createcompatibledc(&dc); pdc->selectobject(mybitmap); //将图片伸缩成我们设定的大小. dc.stretchblt(0,0,width,height,pdc,0,0,bm.bmwidth,bm.bmheight,srccopy); //如果不准备进行缩放可以用bitblt. //dc.bitblt(0,0,bm.bmwidth,bm.bmheight,pdc,0,0,srccopy);delete pdc;
然后做最后一步在程序初始化时候导入我们的图片并让对话大小跟图片一样
在 oninitdialog函数最里添加如下代码:
// todo: add extra initialization here
mybitmap.loadbitmap(idb_bitmap1); mybitmap.getobject(sizeof(bitmap),&bm);好了我们现在就做了一个可以显示图片的对话框并且对话改变大小的时候图片大小也会改变,不过这个程序有一个缺点,就是重绘的时候有闪烁,性能不怎么好,
现在我们按上面的步骤在做一个对话框,导入位图,
... 下一页